从 Oracle JDK 迁移到 Open JDK
我们先来谈谈迁移的必要性。因此,从 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 开发人员所做的大量创造性工作和成果。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

