📜  从 Oracle JDK 迁移到 Open JDK

📅  最后修改于: 2022-05-13 01:55:27.120000             🧑  作者: Mango

从 Oracle JDK 迁移到 Open JDK

让我们首先讨论迁移的必要性。如下在 2018 年,Oracle 宣布在 2019 年 1 月之后,企业将需要购买商业许可证(即从 Oracle 购买)才能接收软件更新。保留 Oracle Java并升级到受支持的补丁级别并支付订阅费用。为了让您了解成本,服务器的每个核心都必须获得许可,每月核心成本为 25 美元。此外,如果服务器处于虚拟化环境中,即使集群中只有一台带有Java 的服务器,整个集群“核心”也需要支付许可费用。

1. 先决条件:在比较 Oracle Java与 Open JDK 之前,让我们先了解一下技术要求。

Oracle 已经对比 Oracle Java JE 8 补丁 211 和 JDK 11 更新的任何内容收取订阅费,从安全漏洞的角度来看,将版本保持在不受支持的旧补丁级别并不理想。因此,我们必须确定是否确实需要安装 Oracle Java JE 或 JDK 才能在服务器上运行任何应用程序。

对于您拥有的每台服务器,我们要求您选择适当的响应,如下所示:



  • 如果不需要,请卸载 Oracle Java版本
  • 如果与您的需要兼容,请再次选择使用开源版本

2 . Oracle JDK 的现有实现

根据 Oracle 支持最后一个不收费的Java版本Java 1.8.0.202(64 位),让我们先来看看亮点。

  • OpenJDK 和 Oracle JDK 之间最大的区别是许可。 OpenJDK 是一个完全开源的Java ,具有 GNU 通用公共许可证。根据 Oracle 二进制代码许可协议,Oracle JDK 需要商业许可。
  • 自 2019 年 1 月起,企业现在需要购买商业许可证(来自 Oracle)才能接收软件更新。
  • 从历史上看,Oracle JDK 的性能优于 OpenJDK。但是,OpenJDK 的性能正在增长。而且 OpenJDK 社区的贡献往往优于 Oracle JDK。
  • OpenJDK 99% 的代码与 Oracle JDK 相同(取决于您从哪个提供商获取它),所以这真正归结为支持。

3 . OpenJDK 生命周期日期和 RHEL 版本

RHEL 5 Support 新增 RHEL 6 Support 新增 RHEL 7 Support 新增 RHEL 8 Support 新增 End of Support for OpenJDK 版本如下:

OpenJDK  6 (1.6) 5.3 6.0 7.0 N/A December 2016
OpenJDK  7 (1.7) 5.9 6.3 7.0 N/A June 2020
OpenJDK  8 (1.8) N/A 6.6 7.1 8.0 May 2026
OpenJDK 11   N/A N/A 7.6 8.0 October 2024

OpenJDK 的服务水平协议 (SLA) 和覆盖范围 (SoC) 确定如下,对于 OpenJDK 在 RHEL 和 Windows 上的生产部署,定义了 SoC(生产支持覆盖范围,即红帽客户门户)和 SLA定义(生产支持服务条款 - 红帽客户门户)。

4 .发布时间表



Oracle 每三年发布一次,而 OpenJDK 每六个月发布一次

5 .执照

Oracle JDK 根据 Oracle 二进制代码许可协议获得许可,而 OpenJDK 具有 GNU 通用公共许可证 (GNU GPL) 版本 2,但有一个链接例外。

6 .表现

两者之间没有真正的技术差异,因为 Oracle JDK 的构建过程基于 OpenJDK 的构建过程。在性能方面,Oracle 在响应能力和 JVM 性能方面要好得多。由于其对企业客户的重视,它更加注重稳定性。相比之下,OpenJDK 将更频繁地发布版本。因此,我们可能会遇到不稳定的问题。

7 .特征

如果我们比较特性和选项,我们会看到 Oracle 产品具有 Flight Recorder、 Java Mission Control 和 Application Class-Data Sharing 特性,而 OpenJDK 具有 Font Renderer 特性。此外,Oracle 有更多垃圾收集选项和更好的渲染器。

8 .发展与普及

Oracle JDK 完全由 Oracle Corporation 开发,而 OpenJDK 由 Oracle、OpenJDK 和Java社区开发。但是,Red Hat、Azul Systems、IBM、Apple Inc.、SAP AG 等一流公司也积极参与其开发。

9 .成本效益分析

保留 Oracle Java并升级到受支持的补丁级别并支付订阅费用。为了让您了解成本,服务器的每个核心都必须获得许可,每月核心成本为 25 美元。此外,如果服务器处于虚拟化环境中,即使集群中只有一台带有Java 的服务器,整个集群“核心”也需要支付许可费用。