注意:这个问题来自 2014 年。从 Java 11 OpenJDK 和 Oracle 开始
JDK 正在趋同。
Oracle 和 OpenJDK 之间有什么重要区别吗?
例如,垃圾收集和其他 JVM 参数是否相同?
两者之间的 GC 工作方式是否不同?
OpenJDK 和 Oracle JDK 目前均仅由 Oracle 创建和维护。
OpenJDK 和 Oracle JDK 是通过 TCK(Java 技术认证套件)的相同 Java 规范的实现。
大多数 JDK 供应商都是在 OpenJDK 之上编写的,通过对组件进行一些调整(主要是替换许可的专有部件/替换为仅适用于特定操作系统的更高性能项目)组件,而不会破坏 TCK 兼容性。
许多厂商实现了Java规范并获得了TCK的通过。例如,IBM J9、Azul Zulu、Azul Zing 和 Oracle JDK。
几乎所有现有的 JDK 都源自 OpenJDK。
正如许多人所建议的,许可是 JDK 之间的变化。
从 JDK 11 开始,访问长期支持 Oracle JDK/Java SE 现在需要商业许可证。您现在应该注意正在安装的 JDK,因为没有订阅的 Oracle JDK 可能会停止工作。source https://www.infoworld.com/article/3284164/java/oracle-now-requires-a-subscription-to-use-java-se.html
Ref: Java虚拟机列表 https://en.wikipedia.org/wiki/List_of_Java_virtual_machines#Proprietary_implementations
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)