以这种不同方式读取系统属性之间的区别是什么

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来获取其系统属性。

09-25 21:29