Java OpenJDK与Adoptium/AdoptionOpenJDK的区别

Java OpenJDK与Adoptium/AdoptionOpenJDK的区别,java,sdk,adoptopenjdk,Java,Sdk,Adoptopenjdk,由于最近的政策更新(特别是2019年3月之后Oracle发布的免费版本更新),我一直在寻找Oracle Java的替代方案。我发现OpenJDK是一种开源的替代方案。我发现,作为收养,它是一个预构建的二进制文件。这让人困惑 OpenJDK和Adoptium/AdoptionOpenJDK之间有什么区别?简而言之: OpenJDK有多种含义,可以指: Java平台的免费开源实现,标准版(JavaSE) -Java源代码又名OpenJDK项目 由Oracle维护的预构建OpenJDK二进制文件

由于最近的政策更新(特别是2019年3月之后Oracle发布的免费版本更新),我一直在寻找Oracle Java的替代方案。我发现OpenJDK是一种开源的替代方案。我发现,作为收养,它是一个预构建的二进制文件。这让人困惑

OpenJDK和Adoptium/AdoptionOpenJDK之间有什么区别?

简而言之:

  • OpenJDK有多种含义,可以指:
    • Java平台的免费开源实现,标准版(JavaSE)
    • -Java源代码又名OpenJDK项目
    • 由Oracle维护的预构建OpenJDK二进制文件
    • 由OpenJDK社区维护的预构建OpenJDK二进制文件
  • 采用OpenJDK-社区维护的预构建OpenJDK二进制文件()

说明:

预构建的OpenJDK(或发行版)-二进制文件,从中构建,作为存档或安装程序提供,为各种平台提供,并可能签订支持合同

OpenJDK,源代码存储库(也称为OpenJDK项目),是一个基于 . Java源代码。绝大多数Java特性(从VM和核心库到编译器)都完全基于这个源代码库。甲骨文有另一个分支

OpenJDK,发行版(请参见下面的提供商列表)是,但如果您有问题,您不能打电话给Oracle。没有支持合同。此外,Oracle只会发布任何OpenJDK(发行版)版本的更新,如果该版本是最新的Java版本,包括LTS(长期支持)版本。Oracle发布OpenJDK(发行版)12.0版的那天,即使OpenJDK(发行版)11.0版存在安全问题,Oracle也不会发布11.0版的更新。由甲骨文单独维护

一些OpenJDK项目(如和)由OpenJDK社区维护,并为某些平台的某些OpenJDK版本提供发行版。社区成员负责发布这些OpenJDK版本中安全漏洞的修复程序

采用OpenJDK,发行版与Oracle的OpenJDK发行版非常相似(因为它是免费的,并且是通过从OpenJDK源代码库编译源代码生成的版本)。AdoptOpenJDK作为一个实体将不会是后移植补丁,也就是说,不会有一个AdoptOpenJDK“fork/version”与上游有实质性的不同(除了一些构建脚本补丁,比如Win32支持)。这意味着,如果社区成员(Oracle或其他人,但不是采用OpenJDK作为实体)对OpenJDK LTS版本的更新进行了后台安全修复,则采用OpenJDK将为这些更新提供构建。由OpenJDK社区维护

OracleJDK-是另一个发行版。从JDK12开始,将没有OracleJDK的免费版本。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


OpenJDK提供程序及其比较
  • 采用OpenJDK-
  • 亚马逊-科雷托-
  • 蓝色祖鲁-
  • 利比里亚贝尔软公司-
  • IBM-
  • jClarity-
  • OpenJDK上游-
  • Oracle JDK-
  • Oracle OpenJDK-
  • ojdkbuild-
  • RedHat-
  • SapMachine-
---------------------------------------------------------------------------------------- |提供商|免费构建|免费二进制|扩展|商业|许可| ||来源|发行版|更新|支持|许可证| |--------------------------------------------------------------------------------------| |采用OpenJDK |是|是|是|否|是| |亚马逊——科雷托|是|是|是|否|是| |蓝色祖鲁|不|是|是|是|是|是| |BellSoft Liberica |不|是|是|是|是| |IBM |否|否|是|是|是| |jClarity |不|不|是|是|是| |OpenJDK |是|是|是|否|是| |甲骨文JDK |否|是|否**是|否| |Oracle OpenJDK |是|是|否|否|是| |ojdkbuild |是|是|否|否|是| |红帽叶 ---------------------------------------------------------------------------------------- | 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 | ----------------------------------------------------------------------------------------