Azul OpenJDK,Zulu OpenJDK和OpenJDK有什么区别?

时间:2020-04-21 02:39:35

标签: java azul-zulu

Azul OpenJDK,Zulu OpenJDK和OpenJDK之间有实际区别吗?

2 个答案:

答案 0 :(得分:12)

Java由set of specificationsJSRsJEPs定义,它们均由Oracle发布。

这些规范在OpenJDK项目的源代码中实现。

几个供应商提供了该源代码的构建。有些为这些建筑收取费用,有些则不收取。

Azul Systems是这样的供应商之一,该公司提供多种实现。 Zulu Community是一个,免费提供。 Zulu Enterprise是他们的另一种产品,一种商业产品。 Zing是他们的又一产品,是满足特殊需要的JVM / JDK。

您问:

Azul OpenJDK,Zulu OpenJDK和OpenJDK之间有实际区别吗?

是,不是。

首先, OpenJDK仅提供source code 。因此,您不能使用OpenJDK运行Java应用程序。您必须首先自己构建OpenJDK源代码才能为您的特定主机平台获取executables,或者您必须依靠供应商为您构建。如下面的流程图所示,有许多这样的供应商在构建OpenJDK源代码。

对于Azul Systems的产品,我所知没有Azul OpenJDKZulu OpenJDK这样的东西。如上所述,Azul提供了多种产品,但该名称均不提供。

Zulu名称用于3种产品,上面的 Community Enterprise 版本,以及Zulu Embedded,用于在受限的硬件资源上运行。正如他们网站上所解释的那样,这三个都是来自OpenJDK的源代码的构建。

所以,没有,基本上没有实际区别,因为它们都是OpenJDK的内部版本,并且行为与大多数其他OpenJDK源代码相似。编写的符合Java规范的任何桌面,服务器或控制台应用程序都可以在 Zulu社区 Zulu Enterprise 上运行。

但是,是的,有一些不同之处在于Azul增加了一些功能,例如向其Java 8版本的Zulu产品中移植了Flight Recorder和Mission Control。与任何其他JDK提供者一样,Azul保留在迫切需要修复关键错误或安全漏洞时添加补丁的权利,而无需等待OpenJDK代码库中的发布。

而且,是的,Azul的 Zing 产品存在主要差异,因为它是为满足特殊需求(例如支持大量内存)而设计的。虽然我假定该产品使用OpenJDK的某些部分,但Zing在满足这些特殊需求的同时却表现出很大的不同,同时仍符合Java规范,以便能够运行任何用Java编写的应用程序。

另一个实际的区别是,您可以从Azul Systems获得有关其构建的支持服务。一些供应商为其产品提供支持服务。 OpenJDK仅提供源代码,不提供支持。

最后,我应该提到Azul Systems是one of the sponsorsAdoptOpenJDK,这是一个提供(a)OpenJDK版本和(b)test suites for quality assurance的项目。

如果您有特定的产品问题,则应学习Azul.com网站,并与Azul Systems的销售部门联系。我在这里只为自己说话,与该公司无关。我有时使用过他们的 Zulu社区产品,但没有使用其他产品。

➥阅读Java is Still Free以了解Oracle,OpenJDK以及Java实现的各种供应商的生态系统。


这是我制作的流程图,可以帮助您选择Java 11实现的供应商。

Flowchart guiding you in choosing a vendor for a Java 11 implementation

答案 1 :(得分:7)

让我们从全面披露开始,我为Azul工作(我认为这使我有资格回答这个问题)。

OpenJDK是“ ...在Java平台,标准版和相关项目的开源实现上进行协作的地方”。首先,它托管自JDK 6起的Java版本的源代码存储库。Sun在2007年开源了其JDK 7的实现,这就是OpenJDK的起源。随后,为JDK 6创建了一个项目(奇怪的是,该项目基于JDK 7)。自那时以来,每个版本都是通过OpenJDK开发的。

Azul是一家专门从事Java和JVM产品的公司。

Zulu是为Azul提供的OpenJDK的二进制发行版选择的名称。这有三个版本:

  1. Zulu社区:根据GPLv2提供的免费分发,带有类路径例外(CPE)许可证。
  2. Zulu Enterprise:商业支持的带有SLA的二进制发行版,用于说明Oracle提供更新后如何快速提供更新,每个更新的两个版本(CPU和PSU)以及电话/电子邮件错误报告/解决方案。
  3. Zulu Embedded:为嵌入式应用程序移植并支持特定芯片组和硬件配置。另外,尽管Zulu社区提供了免费的ARM 32构建版本,但还是商业产品。

总而言之,OpenJDK是源代码,Azul是公司,Zulu是从OpenJDK构建的二进制发行版。