1、Oracle JDK
Oracle JDK 由 Oracle 维护和开发。它符合 OpenJDK 规范,但不是开源代码。Oracle JDK 在 JVM 响应能力和生产力方面要好得多。由于其对企业客户的重要性,它更注重稳定性。
2、OpenJDK
OpenJDK是开放源代码,由Oracle维护和开发,但允许社区和其他公司参与开发,如Red Hat、Azul Systems、IBM、Apple Inc等。OpenJDK既是一种JDK产品,也是一种规范,任何想要使用OpenJDK创建新变体的公司或组织都必须遵守这些规范。OpenJDK是由Oracle和社区共同开发的。有时会对它的稳定性产生问题;然而,根据用户的反馈,它将升级,以更好地执行。
3、Oracle JDK和OpenJDK的区别
1)发布时间
Oracle 将每三年发布一次,而 OpenJDK 每六个月发布一次。
2)支持维护
acle为其发行版提供了长期的支持。而OpenJDK只支持在下一个版本发布之前对一个版本的更改。
3)许可协议
Oracle JDK使用的是Oracle二进制代码许可协议,而OpenJDK使用的是GNU通用公共许可证(GNU GPL)版本2,但有一个链接例外。
4)产品功能
Oracle 产品具有 Flight Recorder、Java Mission Control 和 Application Class-Data Sharing 功能,而 OpenJDK 具有 Font Renderer 功能。此外,Oracle 具有更多的垃圾收集选项和更好的渲染器。
5)开发人员
Oracle JDK 完全由 Oracle Corporation 开发,而 OpenJDK 由 Oracle、OpenJDK 和 Java 社区开发。但 Red Hat、Azul Systems、IBM、Apple Inc.、SAP AG 等一流公司也积极参与了其发展。
4、Oracle JDK和OpenJDK的选择
Oracle JDK 比 OpenJDK 更稳定。OpenJDK和Oracle JDK的代码几乎相同,但Oracle JDK有更多的类和一些错误修复。如开发企业/商业软件,一般建议选择Oracle JDK,因为它经过了彻底的测试和稳定。某些情况下,有些人提到在使用OpenJDK 可能会遇到了许多应用程序崩溃的问题,但只需切换到Oracle JDK就可以解决问题。OpenJDK的特点是更新频繁,实现快速迭代和高效试错,为Oracle JDK LTS版本打下基础。
Oracle JDK的特点是单版本长期支持,提供稳定可用的商业版本,商用收费,学习研究免费。如需在开源基础上开发及问题优化维护或不那么注重稳定性,则可以选择OpenJDK。