我该如何找到当前正在运行的Java虚拟机名称?我想从Java API中获取它。
谢谢
既然您没有明确指出您正在寻找什么,那就看看这些系统属性:
"java.vm.name"
"java.home"
"java.version"
"java.vendor"
"java.specification.vendor"
像这样:
System.out.println(System.getProperty("java.vm.name"));
System.out.println(System.getProperty("java.home"));
System.out.println(System.getProperty("java.vendor"));
System.out.println(System.getProperty("java.version"));
System.out.println(System.getProperty("java.specification.vendor"));
Java虚拟机分为两种名称:
在Java程序中输入代码并查看输出:
System.out.println("Java Virtual Machine specification version : "+System.getProperty("java.vm.specification.version"));
System.out.println("Java Virtual Machine specification vendor : "+System.getProperty("java.vm.specification.vendor"));
System.out.println("Java Virtual Machine specification name : "+System.getProperty("java.vm.specification.name"));
System.out.println("Java Virtual Machine implementation version : "+System.getProperty("java.vm.version"));
System.out.println("Java Virtual Machine implementation vendor : "+System.getProperty("java.vm.vendor"));
System.out.println("Java Virtual Machine implementation name : "+System.getProperty("java.vm.name"));
请参考https://docs.oracle.com/cd/E15289_01/doc.40/e15062/sysprop.htm了解更多关于系统属性的信息。
运行java -version命令的输出结果可用于确定JVM供应商。
例如:
C:\Users\jack>java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) Client VM (build 25.74-b02, mixed mode)
在命令提示符中键入java -version
并查看其第三行即可确定JVM供应商。
System.getProperty("java.version")
应该可以解决问题。
ps aux | grep 'java'
- jmjjps -lvm
。 - Peter Lawrey