[英]How to find if the JVM installed on the machine is HotSpot or JRockit on Windows OS
如何查找Windows机器上安装的JVM是HotSpot还是JRockit,还是其他任何供应商?
您可以从命令提示符处使用命令java -version
,该命令将输出JVM信息。
在终端中运行此命令
java -XshowSettings:properties -version
对于人类,请查看定义的各种系统属性。 您最可能想要java.vendor。
http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
对于程序,最好使用反射来测试所需的JVM特定功能,而不是依赖于任意属性值。
如果您想知道当前正在运行的 JVM是HotSpot还是JRockit,请检查System.getProperty("java.vm.name")
。 对我来说,它提供了Java HotSpot(TM) 64-Bit Server VM
和Oracle JRockit(R)
上的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, 扫描注册表可能是更好的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.