有没有更好的方法可以从命令行打印系统属性?因为我们可以设置属性例如
java -D<name>=<value> //set a system property
不用写课就能做到吗?
如果不可能,为什么不能/可行/好的从命令行进行呢?
最佳答案
您可以在Hotspot JVM 1.7版及更高版本中使用-XshowSettings
标志(1.6版不支持):
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