Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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.vendor";vs";java.vm.vendor";?_Java_Jvm_Openjdk_Jvm Hotspot - Fatal编程技术网

什么';这两者之间的区别是什么;java.vendor";vs";java.vm.vendor";?

什么';这两者之间的区别是什么;java.vendor";vs";java.vm.vendor";?,java,jvm,openjdk,jvm-hotspot,Java,Jvm,Openjdk,Jvm Hotspot,java中的java.vendor和java.vm.vendor属性之间有区别吗 看来这两者总是一样的。这是一个修正假设吗 如果您知道这两个值不相同的情况,请列出它们 编辑: 我试图弄清楚哪个属性会告诉我当前的java是Oracle还是Apple还是OpenJDK或其他JVM。直到现在,我检查了这两个属性。但是可以安全地假设我只需要检查java.vendor?由于java API,java.vendor是java运行时环境供应商,java.vm.vendor是java虚拟机实现供应商。对于不同的

java中的java.vendorjava.vm.vendor属性之间有区别吗

看来这两者总是一样的。这是一个修正假设吗

如果您知道这两个值不相同的情况,请列出它们

编辑:


我试图弄清楚哪个属性会告诉我当前的java是Oracle还是Apple还是OpenJDK或其他JVM。直到现在,我检查了这两个属性。但是可以安全地假设我只需要检查java.vendor

由于java API,java.vendor是java运行时环境供应商,java.vm.vendor是java虚拟机实现供应商。对于不同的JVM,因此在某些特定情况下,值可能不同。而且也不能保证,JVM总是会同时返回这两个值。

我试图找出哪个属性会告诉我当前的java是Oracle、Apple、OpenJDK还是其他JVM。直到现在,我检查了这两个属性。但假设我只需要检查java.vendor是否安全?为什么要检查这个?在我看来,如果JVM在某些方面存在差异,那么您必须检查这一点,无论您检查什么,都无法保证未来版本中的行为一致。同意@WillShackleford,似乎没有任何保证,未来不会发生任何变化。所以,如果java.vendor现在给了您预期的结果,您现在就可以依赖它了,但就目前和当前的JRE版本而言。