如何查找Windows机器上安装的JVM是HotSpot还是JRockit,还是其他任何供应商?
答案 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