由于最近的Oracle Java SE支持路线图政策更新(特别是在2019年3月之后Oracle的免费发布更新结束),我一直在寻找Oracle Java的替代方案.我发现OpenJDK是一个开源替代品.我找到了AdoptOpenJDK,这是一个预建的二进制文件.它很困惑.
OpenJDK和AdoptOpenJDK有什么区别?
Mik*_*kov 180
简而言之:
说明:
预构建的OpenJDK(或发行版) - 由http://hg.openjdk.java.net/构建的二进制文件,以zip或安装程序提供,提供给各种平台,并提供可能的支持合同.
OpenJDK,源存储库(也称为OpenJDK项目) - 是一个基于Mercurial的开源存储库,托管在[ http://hg.openjdk.java.net].Java源代码.绝大多数Java功能(从VM和核心库到编译器)仅基于此源存储库.Oracle有另一个分支.
OpenJDK,发行版(参见下面的提供商列表) - 在啤酒中是免费的,在演讲中是免费的,但是,如果您遇到问题,就不能打电话给Oracle.没有支持合同.此外,如果该版本是最新的Java版本(包括LTS),Oracle将仅发布对任何OpenJDK(发行版)版本的更新.oracle发布OpenJDK(发行版)12.0版,即使OpenJDK(发行版)11.0存在安全问题,Oracle也不会发布11.0的更新.完全由Oracle维护.
AdoptOpenJDK,分发 - 非常类似于Oracle的OpenJDK发行版(因为它是免费的,它是通过编译来自OpenJDK源代码库的源代码生成的构建版本).AdoptOpenJDK作为一个实体不会向后移植补丁,即AdoptOpenJDK'fork/version'与上游没有实质性的区别(除了Win32支持之类的一些构建脚本补丁).这意味着,如果社区成员(Oracle或其他人,但不是AdoptOpenJDK作为实体)将安全修复程序修复为OpenJDK LTS版本的更新,那么AdoptOpenJDK将为这些提供构建.由OpenJDK社区维护.
还有OracleJDK--另一个发行版,从JDK12开始,没有免费版本.Oracle的JDK发行版旨在提供商业支持.你支付这笔费用,但是你确实可以依靠Oracle来获得支持.与Oracle的OpenJDK产品不同,OracleJDK产品确实提供了对LTS版本的更长支持.作为开发人员,您可以获得仅用于此特定JDK的个人/开发使用的免费许可,但这主要是一个红色鲱鱼,因为"只是二进制"基本上与OpenJDK二进制文件相同.我想这意味着只要您承诺不在商业上使用它们,您就可以从Oracle网站下载安全修补版本的LTS JDK.
注意.最好是通过Oracle调用OpenJDK构建,即"Oracle OpenJDK构建".
Oracle的Java产品经理Donald Smith 写道:
理想情况下,我们只需根据您的具体情况,将所有Oracle JDK构建称为"Oracle JDK",或者根据GPL或商业许可.但是,由于历史原因,虽然存在小的剩余差异,但我们将分别将它们作为Oracle的OpenJDK构建和Oracle JDK引用.
---------------------------------------------------------------------------------------- | Provider | Free Builds | Free Binary | Extended | Commercial | Permissive | | | from Source | Distributions | Updates | Support | License | |--------------------------------------------------------------------------------------| | AdoptOpenJDK | Yes | Yes | Yes | No | Yes | | Amazon – Corretto | Yes | Yes | Yes | No | Yes | | Azul Zulu | No | Yes | Yes | Yes | Yes | | BellSoft Liberica | No | Yes | Yes | Yes | Yes | | IBM | No | No | Yes | Yes | Yes | | jClarity | No | No | Yes | Yes | Yes | | OpenJDK | Yes | Yes | Yes | No | Yes | | Oracle JDK | No | Yes | No** | Yes | No | | Oracle OpenJDK | Yes | Yes | No | No | Yes | | ojdkbuild | Yes | Yes | No | No | Yes | | RedHat | Yes | Yes | Yes | Yes | Yes | | SapMachine | Yes | Yes | Yes | Yes | Yes | ----------------------------------------------------------------------------------------
*扩展更新 - 超过6个月发布生命周期的公共更新
**Oracle为付费客户提供扩展更新(和支持),即仅限Oracle JDK
附加信息
时间超越Oracle的JDK作者Stephen Colebourne
Java Champions社区仍然免费提供Java
Bas*_*que 108
更新: AdoptOpenJDK已更名为Adoptium,作为其向 Eclipse Foundation 迁移的一部分。
OpenJDK 和 AdaptOpenJDK 的区别
第一个提供源代码,另一个提供该源代码的构建。
Adoptium of the Eclipse Foundation,以前称为AdoptOpenJDK,只是分发 Java 平台实现的几个供应商之一。这些包括:
请参阅我的这个流程图,以帮助指导您为 Java 平台的实现选择供应商。单击/点击可缩放。
另一个资源:Azul Systems 的这个比较矩阵很有用,在我看来似乎是真实和公平的。
以下是选择供应商和实施时要考虑的考虑因素和动机列表。
一些供应商为您提供JIT技术的选择。
要了解有关此 Java 生态系统的更多信息,请阅读Java Is Still Free
| 归档时间: |
|
| 查看次数: |
43884 次 |
| 最近记录: |