“java.vendor”与“java.vm.vendor”有什么区别?

Sae*_*ian 6 java openjdk jvm jvm-hotspot

Java 中的java.vendorjava.vm.vendor属性有区别吗?

似乎两者总是相同的。这是修正假设吗?

如果您知道这两个值不同的场景,请列出它们。

编辑:

我试图找出哪个属性会告诉我当前的 java 是 Oracle、Apple、OpenJDK 还是其他 JVM。到目前为止,我检查了这两个属性。但是假设我只需要检查java.vendor是否安全

Sta*_*lav 2

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