有没有更好的方法可以从命令行打印系统属性?由于我们可以设置属性,例如
java -D<name>=<value> //set a system property
不用写课就能做到吗?
如果不可能的话,为什么不能/可行/好用命令行呢?
您可以-XshowSettings在Hotspot JVM 1.7版及更高版本(1.6版不支持)中使用该标志:
-XshowSettings
java -XshowSettings:properties -version
自2010年底以来,OpenJDK就一直支持该标志。
在http://marxsoftware.blogspot.de/2016/02/hotspot-jvm- XshowSettings.html中看到
编辑2016年12月14日
Oracle JVM附带了jcmd工具,该工具可让您查看正在运行的JVM中存在的标志。看到:
https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr006.html
对于此用例,您可以使用:
jcmd <pid> VM.system_properties
但是,还有许多其他有用的命令。例如:
jcmd <pid> VM.flags jcmd <pid> VM.command_line jcmd <pid> GC.run