10

究竟是什么?我能找到这段代码的最多信息(来自http://sanjaal.com/java/tag/find-java-vendor/

public class GetJavaVersionAndVendor {

    public static void main(String args [])
    {
        String version=System.getProperty("java.version");
        String vendor=System.getProperty("java.vendor");

        System.out.println("Java Version Is: "+version);
        System.out.println("Java Vendor Is: "+vendor);
    }

}

这段代码给了我“Oracle Corporation”这个名字,我猜它是我目前安装的 Java 版本的开发者。

我还发现列为“Sun Microsystems Inc”的属性已更名为“Oracle Corporation”。因此,我假设这个“供应商”有一个属性文件。那是对的吗?

4

5 回答 5

10

供应商只是 JVM 的创建者/维护者。Sun 几年前被 Oracle 收购,因此“Sun JVM”或多或少被重新标记为“Oracle JVM”。有很多不同的 JVM 实现。每个人都必须遵循JVM Spec。查看完整的 JVM 列表

于 2013-07-02T14:26:01.290 回答
9

Vendor 是指 JVM 的实现者,是 Oracle(或)IBM(或)其他的 JVM/JRE。它们中的每一个都有自己的 JVM 实现。

例子:

java.vendor = Sun Microsystems Inc. 
java.vendor.url = http://java.sun.com/ 
于 2013-07-02T14:22:26.250 回答
3

如果遵循Java 虚拟机规范JVM,则可以由不同的公司开发。如果您想通读规范,您甚至可以自己实现。您看到的“Oracle Corporation”显示了 Oracle 开发了您当前的 JVM。如果不同的公司对甲骨文不满意,他们会制作自己的 JVM。例如,自定义 JVM 应该仍然能够正确运行 Java 代码,但它可能会提供一些高级安全性。

于 2013-07-02T14:26:15.613 回答
2

来自oracle javatutorial

“java.vendor”:JRE 供应商名称

供应商可以是 Oracle、IBM 或其他

于 2013-07-02T14:24:37.077 回答
2

您可以简单地从命令提示符触发命令以获取 java.vendor 详细信息

java -XshowSettings:properties -version

或者您可以参考下面的 url 以获取有关 Java 属性的更多信息

https://www.applicationproductionsupport.com/2019/05/how-to-get-java-vendor-information-and.html

于 2015-03-23T15:09:47.543 回答