OpenJDK的和AdoptOpenJDK的区别

米哈伊尔Kholodkov:

由于最近甲骨文的Java SE支持路线图策略更新(从Oracle 2019年3月尤其是后无$版本更新结束),我一直在寻找替代甲骨文的Java。我发现了OpenJDK是一个开放源代码的替代品。我发现AdoptOpenJDK,这是一个预建的二进制这难题。

是什么的OpenJDK和AdoptOpenJDK之间的区别?

米哈伊尔Kholodkov:

简而言之:

  • OpenJDK的具有多个含义,并且可以被称为:
    • 免费和开源实现的Java平台,标准版(Java SE)
    • 开源库 - Java源代码又名OpenJDK项目
    • 预编译二进制文件的OpenJDK维持由Oracle
    • 预置的OpenJDK的二进制文件通过保持在OpenJDK社区
  • AdoptOpenJDK -预编译的二进制文件的OpenJDK维持由社区(开放源代码许可

说明:

预建的OpenJDK(或分布) -二进制文件,从建http://hg.openjdk.java.net/,作为存档或安装程序,为各种平台提供的,有可能支持合同提供。

OpenJDK的,源代码库(也称为OpenJDK项目) -是一种水银为基础的开放源码库,在托管 http://hg.openjdk.java.netJava源代码。绝大多数的Java功能(从VM和核心库的编译器)仅仅基于此源代码库。甲骨文有这方面的一个备选叉。

OpenJDK的,分布(见下提供商列表) -是免费的啤酒和一种免费的语音,但是,你不要打电话给甲骨文,如果您有与它的问题。有没有支持合同。此外,如果该版本是最新的Java版本,包括LTS(长期支持)版本的Oracle将仅发布更新任何的OpenJDK(分配)的版本。当天Oracle发布OpenJDK的(分配)12.0版本,即使有一个安全性问题的OpenJDK(分配)11.0版中,Oracle不得为11.0发布的更新。仅由Oracle维护。

有些OpenJDK项目-如OpenJDK的8OpenJDK的11 -由OpenJDK的社区维护,并提供一些OpenJDK的版本,一些平台版本。社区成员已经采取责任为释放这些OpenJDK的版本中的安全漏洞的修复程序。

AdoptOpenJDK,分布 -非常相似,Oracle的OpenJDK的分布(因为它是免费的,它是由编译与OpenJDK的源代码库的源产生的生成)。AdoptOpenJDK作为一个实体将不被向后移植补丁,即不会有一个AdoptOpenJDK“叉/版本”是从上游实质性不同(除一些构建脚本补丁等的Win32支撑的东西)。这意味着,如果社区(Oracle或其他人,而不是AdoptOpenJDK作为一个实体)反向移植安全修复OpenJDK的LTS版本的更新的成员,然后AdoptOpenJDK将提供建立这些。通过OpenJDK的社区维护。

也有OracleJDK -另一种分布,JDK12开始会有这个没有免费的版本。Oracle的JDK分布产品用于商业支持。你为此付出代价,但你能去成依靠甲骨文的支持。不像Oracle的OpenJDK的祭,OracleJDK发行不来与LTS版本不再支持。作为一个开发者,你可以得到个人/开发只用这种特殊的JDK的免费许可,但是这主要是一个红色的鲱鱼,因为“只是二进制”基本上是一样的OpenJDK的二进制文件。我想这意味着你可以从Oracle的网站LTS的JDK的安全补丁版本,只要你答应不以商业目的使用它们。

它也许最好致电建立的OpenJDK甲骨文中,“甲骨文OpenJDK的构建”。

唐纳德·史密斯,在甲骨文的Java产品经理写道

理想情况下,我们会简单地指所有Oracle JDK建立的“甲骨文JDK,”无论是GPL或根据您的情况的商业许可证。然而,由于历史原因而存在的小尚存分歧,我们将把它们分别为Oracle的OpenJDK的构建,以及Oracle JDK。


OpenJDK的供应商和比较

-------------------------------------------------- -------------------------------------- 
| 供应商| 免费构建| 免费二进制| 扩展| 商业| 许可| 
| | 从源代码| 分布| 更新| 支持| 许可证| 
| ------------------------------------------------- ------------------------------------- | 
| AdoptOpenJDK | 是| 是| 是| 无| 是| 
| 亚马逊- Corretto | 是| 是| 是| 无| 是| 
| 阿祖尔祖鲁| 无| 是| 是| 是| 是| 
| BellSoft利比里卡| 无| 是| 是| 是| 是|
| IBM | 无| 无| 是| 是| 是|
| jClarity | 无| 无| 是| 是| 是| 
| OpenJDK的| 是| 是| 是| 无| 是| 
| 甲骨文JDK | 无| 是| 没有** | 是| 无| 
| 甲骨文的OpenJDK | 是| 是| 无| 无| 是| 
| ojdkbuild | 是| 是| 无| 无| 是| 
| 红帽| 是| 是| 是| 是| 是| 
| SapMachine | 是| 是| 是| 是| 是|
-------------------------------------------------- --------------------------------------

免费从源代码构建 -分发源代码是公开的,一个可以组装自己的构建

免费二进制分发 -分发二进制文件公开下载和使用

扩展更新 -又名LTS(长期支持) -公用更新超过6个月的生命周期释放

商业支持 -一些供应商提供给付费用户扩展升级和客户支持,如Oracle JDK(支持详细信息

许可许可 -分布许可非保护性,例如Apache 2.0的


哪个Java分配应怎么用?

在Sun / Oracle的天,通常是太阳/ Oracle的制造基于OpenJDK源的专有下游JDK分布。近日,甲骨文已经决定做自己的专有的建立只是附带的商业支持。他们慷慨地发布OpenJDK的构建以及对他们的https://jdk.java.net/网站。

正在发生的事情开始JDK 11是从单一供应商(Oracle)的心态,你选择一个供应商,为您提供针对该产品的分布心态的转变,你喜欢的条件下:平台他们构建发布,频率/敏捷,支持结构如何,等等。如果你不相信任何现有的供应商,你甚至可以自己建立的OpenJDK。

的OpenJDK的每个构建通常是从相同的原始上游源储存库(OpenJDK的“项目”)制成。然而,每个版本是相当独特 - $免费或商业,品牌或无品牌的,纯的或捆绑的(例如,BellSoft利比里卡JDK提供捆绑的JavaFX,这是从Oracle取出构建起JDK 11)。

如果没有环境(例如,Linux)和/或许可要求定义了特定的分配,如果你最想要的标准 JDK的构建,则可能是最好的选择是通过Oracle或AdoptOpenJDK使用OpenJDK的。


附加信息

时间超越Oracle的JDK由Stephen Colebourne对

Java的仍然是免费的在Java社区冠军(9月17日公布,2018)

Java的仍然是免费的2.0.0在Java社区冠军(于2019年3月3日出版)

阿列克谢Shipilev关于JDK更新由Opsian采访(发表于2019年6月27日)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档