NOTE: This question is from 2014. As of Java 11 OpenJDK and Oracle JDK are converging.

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

引用: List of Java virtual machines


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!