如何在Windows操作系统上找出机器上安装的JVM是HotSpot还是JRockit?

6
如何查找安装在Windows系统上的JVM是HotSpot还是JRockit,或来自其他供应商?

你指的是哪一个JVM被安装了? 你可以安装许多不同的JVM。而且没有确定的方法来告诉有多少个和哪些JVM已经安装了。 - Ingo
4个回答

13

在你的终端中运行此命令

java -XshowSettings:properties -version

1
正是我所需要的。此外,这是一个非常有用的命令。谢谢! - brainplot

8
您可以使用命令行java -version,它会打印JVM信息。

0

0
如果您想知道当前运行的JVM是HotSpot还是JRockit,请检查System.getProperty("java.vm.name")。对于我来说,在HotSpot上它会给出Java HotSpot(TM) 64-Bit Server VM,在JRockit上则会给出Oracle JRockit(R),尽管不同的版本/平台可能会给出略微不同的结果,因此最可靠的方法可能是:
String jvmName = System.getProperty("java.vm.name");
boolean isHotSpot = jvmName.toUpperCase().indexOf("HOTSPOT") != -1;
boolean isJRockit = jvmName.toUpperCase().indexOf("JROCKIT") != -1;

Thorbjørn的建议是使用java.vendor,但同一供应商可能会生产多个JVM;事实上,自从Oracle收购BEA和Sun以来,HotSpot和JRockit现在报告相同的值:Oracle Corporation

如果您想查找系统上安装的所有JVM:Nambari的答案存在问题,因为JVM可以安装在计算机上,但可能不在路径中。对于Windows,扫描注册表可能是更好的方法。


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