以这种不同方式读取系统属性之间的区别是什么
RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean();
Object value = RuntimemxBean.getSystemProperties();
System.out.println(value);
和
Properties systemProperties = System.getProperties();
systemProperties.list(System.out);
最佳答案
至少在Sun JVM中,结果应与内部调用RuntimeMXBean.getSystemProperties()
的System.getProperties()
相同。
public Map<String, String> getSystemProperties() {
Properties localProperties = System.getProperties();
HashMap localHashMap = new HashMap();
Set localSet = localProperties.stringPropertyNames();
for (String str1 : localSet) {
String str2 = localProperties.getProperty(str1);
localHashMap.put(str1, str2);
}
return localHashMap;
}
区别在于您可以使用远程JVM(see 2)中的
RuntimeMXBean
来获取其系统属性。