如何查找计算机上安装的JVM是否为Windows操作系统上的HotSpot或JRockit

时间:2013-06-26 20:12:59

标签: java jvm

如何查找Windows机器上安装的JVM是HotSpot还是JRockit,还是其他任何供应商?

4 个答案:

答案 0 :(得分:5)

您可以在命令提示符下使用命令java -version,它会输出JVM信息

答案 1 :(得分:0)

对于人类来说,看一下定义的各种系统属性。你最有可能想要java.vendor。

http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html

对于程序,最好使用反射来测试所需的JVM特定工具,而不是依赖于任意属性值。

答案 2 :(得分: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的问题;事实上,自甲骨文收购BEA和Sun以来,HotSpot和JRockit现在都报告了相同的价值:Oracle Corporation

如果要查找系统上安装的所有JVM:使用命令java -version,Nambari的答案是,JVM可以安装在机器上,但不在路径中。对于Windows,scanning the registry可能是更好的方法。

答案 3 :(得分:0)

在终端中运行此命令

java -XshowSettings:properties -version