Oracle JDK 和 OpenJDK 的选择及区别

本文主要介绍Java中,安装Java JDK时,对于Oracle JDK 和 OpenJDK 的选择,以及两者之间的区别。

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。

推荐阅读
cjavapy编程之路首页