运行中的Java虚拟机的名称如何获取?

10

我该如何找到当前正在运行的Java虚拟机名称?我想从Java API中获取它。

谢谢


ps aux | grep 'java' - jmj
@JigarJoshi,寻找Java API。 - Shamim Ahmmed
1
你也可以通过Java来实现,并编写一个小的API。 - jmj
2
最好不要编写自己的代码,如果已经存在了。 - Shamim Ahmmed
更简单的方式是 jps -lvm - Peter Lawrey
1
@PeterLawrey jps不是所有JVM发行版都可以直接使用。 - om-nom-nom
5个回答

13

既然您没有明确指出您正在寻找什么,那就看看这些系统属性:

  • "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"));

管理工厂.getRuntimeMXBean().getName() - Shamim Ahmmed

6

Java虚拟机分为两种名称:

  1. Java虚拟机实现名称:Java HotSpot(TM) Client VM
  2. Java虚拟机规范供应商:Oracle Corporation

在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供应商。


2

2

您可以使用 System.getProperty() 方法获取各种属性,其中 java.vm.name 属性似乎是您需要的。


0

System.getProperty("java.version") 应该可以解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接