从 Oracle JDK 迁移到 Open JDK

javaobject oriented programmingprogramming更新于 2024/11/8 16:12:17

我们先来谈谈迁移的必要性。因此,从 2019 年 1 月起,企业必须购买商业许可证(即从 Oracle 购买)才能获得软件升级,正如 Oracle 在 2018 年宣布的那样。维护 Oracle Java,更新到最新的补丁级别,并支付会员费。您可以通过了解每个服务器核心都需要获得许可来了解价格,每个核心每月花费 25 美元。

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

Oracle JDK 和 Open JDK

先决条件

Oracle 已为比 Oracle Java JE 8 patch 211 和 JDK 11 更新的任何版本制定了会员费用,从安全漏洞的角度来看,将版本保留在较早的、不受支持的补丁级别是不可取的。因此,我们必须确定是否需要安装 Oracle Java JE 或 JDK 才能在服务器上运行任何应用程序。

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

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

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

Oracle JDK 的现有实现

让我们首先了解 Oracle 支持的最新非收费 Java 版本 Java 1.8.0.202(64 位)的亮点。

  • 许可是 Open JDK 和 Oracle JDK 分歧最大的地方。Open JDK 拥有 GNU 通用公共许可证,是一款完全开源的 Java。根据二进制 Oracle 代码许可协议,Oracle JDK 需要商业许可证。

  • 自 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 5 月2026

  • 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 产品具有飞行记录、Java 任务控制和应用程序类数据共享功能。此外,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 之间的比较

FEATURES

ORACLE JDK

OPEN JDK

长期支持选项

Java 8 到 2022 年(Premier 支持)和 2025 年 3 月(扩展支持)

Java 11 到 2023 年 9 月(Premier 支持)和 2026 年 9 月(扩展支持)

每个版本的支持周期为一个月,如果要使用受支持的 Java 版本,则必须更新 JDK 版本

TCK 合规性

合规

符合要求

免费/商业基础

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

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

(GPLv2+CPE)

支持

Oracle

社区

费用

每年 40,500 美元

免费

结论

经过仔细通过分析,可以清楚地看出,在 Open JDK 和 Oracle JDK 的争论中,Open JDK 占有相当大的优势。由于 Open JDK 是一个开源平台,因此鼓励 Java 开发人员为进一步发展该平台做出贡献。我们最终将见证几位使用 Open JDK 并曾是 Oracle JDK 积极贡献者的杰出 Java 开发人员所做的大量创造性工作和成果。


相关文章


有用资源