注:本题出自2014年.从Java 11开始,OpenJDK和Oracle JDK正在融合.
Oracle和OpenJDK之间有什么重要区别吗?
例如,垃圾收集和其他JVM参数是否相同?
GC在两者之间的工作方式是否不同?
注:本题出自2014年.从Java 11开始,OpenJDK和Oracle JDK正在融合.
Oracle和OpenJDK之间有什么重要区别吗?
例如,垃圾收集和其他JVM参数是否相同?
GC在两者之间的工作方式是否不同?
OpenJDK和Oracle JDK目前仅由Oracle创建和维护.
OpenJDK和Oracle JDK是通过TCK(Java技术认证工具包)的相同Java规范的实现.
JDK的大多数供应商都是在OpenJDK的基础上编写的,他们在不 destruct TCK兼容性的情况下,对组件进行了一些调整(主要是替换获得许可的专有部件/替换为只在特定操作系统上工作的高性能项目).
许多供应商实现了Java规范并通过了TCK.例如,IBM J9、Azul Zulu、Azul Zing和Oracle JDK.
几乎所有现有的JDK都派生自OpenJDK.
正如许多人所说,许可是JDK之间的一种变化.
从JDK 11开始,访问长期支持的Oracle JDK/Java SE现在需要商业许可证.现在,您应该注意您正在安装的JDK,因为没有订阅的Oracle JDK可能会停止工作.source
参考:100