Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何查找计算机上安装的JVM是HotSpot还是Windows操作系统上的JRockit_Java_Jvm - Fatal编程技术网

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

Java 如何查找计算机上安装的JVM是HotSpot还是Windows操作系统上的JRockit,java,jvm,Java,Jvm,如何确定安装在Windows机箱上的JVM是HotSpot还是JRockit,或者是来自任何其他供应商 您可以在命令提示符下使用命令java-version,它将打印JVM信息,以便查看定义的各种系统属性。您很可能想要java.vendor 对于程序,最好使用反射来测试您需要的JVM特定功能,而不是依赖任意属性值。如果您想知道当前运行的JVM是热点还是JRockit,请检查System.getProperty(“java.vm.name”)。对我来说,它在HotSpot上提供了Java Hot

如何确定安装在Windows机箱上的JVM是HotSpot还是JRockit,或者是来自任何其他供应商

您可以在命令提示符下使用命令
java-version
,它将打印JVM信息

,以便查看定义的各种系统属性。您很可能想要java.vendor


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

如果您想知道当前运行的JVM是热点还是JRockit,请检查
System.getProperty(“java.vm.name”)
。对我来说,它在HotSpot上提供了
Java HotSpot(TM)64位服务器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回答的问题是,使用命令
java-version
,JVM可以安装在机器上,但路径中不存在。对于Windows,可能是更好的方法。

在终端中运行此命令

java -XshowSettings:properties -version

或者它会打印这样的内容:
Der Befehl“java”是entweder falsch geschrieben order konnte nicht gefunden werden。
安装的JVM是什么意思?您可以安装几十个不同的JVM。而且没有确切的方法来确定安装了多少JVM以及安装了什么JVM,这正是我想要的。这也是一个非常有用的命令。谢谢