从Oracle JDK迁移到Open JDK


让我们首先讨论迁移的必要性。根据Oracle在2018年发布的声明,从2019年1月起,企业必须购买商业许可证(即Oracle许可证)才能获得软件升级。 这包括维护Oracle Java,更新到最新的补丁级别以及支付会员费。您可以了解一下价格:每个服务器核心都需要许可,每个核心每月需支付25美元。

此外,即使集群中只有一个Java服务器,如果它是虚拟化的,许可证价格也将适用于服务器的所有“核心”。

Oracle JDK和Open JDK

先决条件

Oracle对高于Oracle Java SE 8 patch 211和JDK 11的版本都收取会员费用,从安全漏洞的角度来看,将版本保留在较旧的、不受支持的补丁级别是不理想的。因此,我们必须确定为了运行服务器上的任何应用程序是否真的需要Oracle Java SE或JDK安装。

对于您拥有的每个服务器,为每个服务器选择相关选项。

  • 如果不需要Oracle Java,请卸载它。

  • 如果满足您的需求,请选择再次使用开源版本。

Oracle JDK的现有实现

让我们首先回顾一下Oracle支持的最新非收费Java版本Java 1.8.0.202(64位)的要点。

  • Open JDK和Oracle JDK最大的区别在于许可。Open JDK是完全开源的Java,具有GNU通用公共许可证。Oracle JDK根据Oracle二进制代码许可协议需要商业许可证。

  • 自2019年1月起,想要获得软件更新的组织必须购买商业许可证(来自Oracle)。

  • 过去,Oracle JDK的性能优于Open JDK。然而,Open JDK的性能正在提高。而且Open JDK社区的贡献经常超过Oracle JDK。

  • 这实际上归结为支持,因为Open JDK与Oracle JDK共享99.9%的代码(取决于您从哪个供应商获得它)。

Open JDK生命周期日期和RHEL版本

Open JDK版本的支持如下:

  • Open JDK 6 (1.6) 5.3 6.0 7.0 N/A 2016年12月

  • Open JDK 7 (1.7) 5.9 6.3 7.0 N/A 2020年6月

  • Open JDK 8 (1.8) N/A 6.6 7.1 8.0 2026年5月

  • Open JDK 11 N/A N/A 7.6 8.0 2024年10月

对于在RHEL和Windows上部署Open JDK,服务级别协议 (SLA) 和覆盖范围 (SoC) 分别在生产支持覆盖范围和生产支持服务条款中定义。

发布计划

Oracle每三年发布一次,而Open JDK每六个月发布一次。

许可证

Open JDK根据GNU通用公共许可证(GNU GPL)版本2(带有链接例外)许可,这与Oracle JDK的Oracle二进制代码许可协议形成对比。

性能

由于Oracle JDK的构建过程基于Open JDK的构建过程,因此两者之间没有重大的技术差异。Oracle在响应速度和JVM性能方面表现出更优越的性能,因为它非常重视其商业客户,因此更注重稳定性。另一方面,Open JDK将更频繁地提供更新。因此,我们可能会遇到不稳定性问题。

特性

在比较特性和设置时,我们可以看到Open JDK具有字体渲染特性,而Oracle产品具有Flight Recorded、Java Mission Control和应用程序类数据共享功能。此外,Oracle提供更优越的渲染和额外的垃圾回收选项。

开发和普及

与由Oracle、Open JDK和Java社区共同开发的Open JDK不同,Oracle JDK完全由Oracle公司开发。但像Red Hat、Azul Systems、IBM、Apple Inc.和SAP AG这样享有盛誉的公司也积极参与其发展。

成本效益分析

维护Oracle Java,更新到最新的补丁级别,并支付会员费。您可以了解一下价格:每个服务器核心都需要许可,每个核心每月需支付25美元。此外,即使集群中只有一个Java服务器,如果它是虚拟化的,许可证价格也将适用于服务器的所有核心。

Oracle JDK和Open JDK的比较

特性

Oracle JDK

Open JDK

长期支持选项

Java 8 直到 2022 年(主要支持)和 2025 年 3 月(扩展支持)

Java 11 直到 2023 年 9 月(主要支持)和 2026 年 9 月(扩展支持)

每个版本的月度支持周期,如果您想使用受支持的Java版本,则必须更新JDK版本

TCK兼容性

兼容

兼容

免费/商业基础

需要购买许可证。许可证数量取决于使用Java的处理器、核心和用户数量。

JDK是免费的。GNU通用公共许可证V2,带有类路径例外

(GPLv2+CPE)

支持

Oracle

社区

成本

每年40,500美元

免费

结论

经过仔细研究,很明显,在Open JDK和Oracle JDK的争论中,Open JDK占据了相当大的优势。由于Open JDK是一个开源平台,因此鼓励Java开发人员为进一步发展该平台做出贡献。最终,我们将见证许多优秀的Java开发人员(他们使用Open JDK并且以前是Oracle JDK的积极贡献者)所做的丰富创造性工作和成果。

更新于:2023年8月1日

浏览量:236

启动您的职业生涯

完成课程获得认证

开始
广告