小编典典

从命令行读取Java系统属性

java

有没有更好的方法可以从命令行打印系统属性?由于我们可以设置属性,例如

 java  -D<name>=<value>  //set a system property

不用写课就能做到吗?

如果不可能的话,为什么不能/可行/好用命令行呢?


阅读 460

收藏
2020-12-03

共1个答案

小编典典

您可以-XshowSettings在Hotspot JVM 1.7版及更高版本(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
2020-12-03