从Oracle JDK迁移到Open JDK

从Oracle JDK迁移到Open JDK

首先我们来讨论迁移的必要性。根据2018年的声明,从2019年1月起,企业必须购买商业许可证(即来自Oracle)以获取软件升级、维护Oracle Java、更新到最新的补丁级别,并支付会员费用。你可以通过知道每个服务器核心需要许可证,每个核心的费用为每月25美元来了解价格。

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

Oracle JDK和Open JDK

先决条件

从Oracle Java JE 8补丁211和JDK 11开始,Oracle开始收费,从安全漏洞的角度来看,保留早期、不受支持的版本是不可取的。因此,我们必须决定是否实际上需要在服务器上运行任何应用程序时安装Oracle Java JE或JDK。

针对您拥有的每个服务器,选择相应的选项。

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

  • 如果符合您的需求,可以选择使用开源版本。

现有的Oracle JDK实施

首先,让我们列举最新的非计费Java版本Java 1.8.0.202(64位),它得到了Oracle的支持。

  • 许可证是Open JDK和Oracle JDK最大的区别。Open JDK是完全开源的,遵循GNU通用公共许可证。根据二进制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 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则会更频繁地提供更新,因此可能会存在不稳定性问题。

功能

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

开发和受欢迎程度

与由Oracle Corporation完全开发的Oracle JDK不同,Open JDK是由Oracle、Open JDK和Java社区共同创建的。而知名企业如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 是免费的。 使用 classpath 异常的 GNU 通用公共许可证 V2 (GPLv2+CPE)
支持 Oracle 社区
成本 每年 40,500 美元 免费

结论

经过仔细检查,明显可以看出在Open JDK和Oracle JDK之间的争论中,Open JDK具有相当大的优势。由于Open JDK是一个开源平台,鼓励Java开发人员为该平台的发展做出贡献。我们将最终见证由几位杰出的Java开发人员完成的大量创造性工作和项目,他们曾经使用过Open JDK,并曾是Oracle JDK的活跃贡献者。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程