Java如何获取系统属性信息?
package org.nhooo.example.management; import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; import java.util.Map; import java.util.Set; public class GetSystemProperties { public static void main(String[] args) { RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean(); //返回所有系统的名称和值的映射 //属性。此方法调用System.getProperties() //获取所有系统属性。其属性 //名称或值不是字符串将被省略。 Map<String, String> systemProperties = bean.getSystemProperties(); Set<String> keys = systemProperties.keySet(); for (String key : keys) { String value = systemProperties.get(key); System.out.printf("Property[%s] = %s.%n", key, value); } } }
上面的代码片段捕获的一些属性信息是:
Property[java.vm.vendor] = Oracle Corporation. Property[sun.arch.data.model] = 64. Property[java.vendor.url] = http://java.oracle.com/. Property[user.timezone] = . Property[user.country.format] = ID. Property[os.name] = Mac OS X. Property[java.vm.specification.version] = 1.8. Property[user.country] = US. Property[sun.java.launcher] = SUN_STANDARD. Property[sun.boot.library.path] = /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib. Property[sun.java.command] = org.nhooo.example.management.GetSystemProperties. Property[http.nonProxyHosts] = local|*.local|169.254/16|*.169.254/16. Property[sun.cpu.endian] = little. Property[user.home] = /Users/wsaryada. Property[user.language] = en. Property[java.specification.vendor] = Oracle Corporation. Property[java.home] = /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre. Property[file.separator] = /. Property[line.separator] = . Property[java.vm.specification.vendor] = Oracle Corporation. Property[java.specification.name] = Java Platform API Specification. Property[java.awt.graphicsenv] = sun.awt.CGraphicsEnvironment.