Azul OpenJDK、Zulu OpenJDK 和 OpenJDK 有什么区别?
Bas*_*que 34
Java 由一组规范、JSR和JEP 定义,所有这些规范都由 Oracle 发布。
这些规范在OpenJDK项目的源代码中实现。
一些供应商提供了该源代码的构建。有些为这些构建收费,有些则不收费。
Azul Systems就是这样的一个供应商,一家提供多种实现的公司。Zulu Community就是其中之一,免费提供。Zulu Enterprise是他们的另一个产品,商业产品。Zing是他们的另一个产品,一个用于特殊需求的 JVM/JDK。
你问:
Azul OpenJDK、Zulu OpenJDK 和 OpenJDK 之间有什么实际区别吗?
是和否。
首先,OpenJDK 只提供源代码。所以你不能使用 OpenJDK 来运行 Java 应用程序。您必须首先自己构建 OpenJDK 源代码以获得适用于您的特定主机平台的可执行文件,或者您必须依赖供应商为您构建。如下流程图所示,有几个这样的供应商构建 OpenJDK 源代码。
至于 Azul Systems 的产品,我不知道Azul OpenJDK
也不Zulu OpenJDK
知道。如上所述,Azul 提供多种产品,但没有一个是该名称。
该Zulu
名称用于 3 个产品,即上面的社区版和企业版,以及用于在受限硬件资源上运行的Zulu Embedded。正如在他们的网站上所解释的,所有这三个都是来自 OpenJDK 的源代码的构建。
所以,不,基本上没有实际区别,因为它们都是 OpenJDK 的构建,并且与大多数其他 OpenJDK 源代码构建的行为相似。任何为符合 Java 规范而编写的桌面、服务器或控制台应用程序都将在Zulu Community和Zulu Enterprise上运行。
但是,是的,有一些不同之处在于 Azul 添加了一些功能,例如向后移植飞行记录器和任务控制到他们的 Java 8 版本的 Zulu 产品。与任何此类 JDK 提供商一样,Azul 保留在迫切需要修复关键错误或安全漏洞时添加补丁的权利,而无需等待 OpenJDK 代码库中的发布。
而且,是的,与Azul的Zing产品存在重大差异,因为它旨在满足特殊需求,例如支持非常大的内存量。虽然我认为这个产品使用了 OpenJDK 的一部分,但 Zing 在满足这些特殊需求的同时仍然符合 Java 规范,能够运行任何用 Java 编写的应用程序。
另一个实际区别是您可以从 Azul Systems 获得其构建的支持服务。一些供应商为其构建提供支持服务。OpenJDK 仅提供源代码,不提供支持。
最后,我应该提到 Azul Systems 是AdoptOpenJDK的赞助商之一,该项目提供 (a) OpenJDK 构建,以及 (b)质量保证测试套件。
如果您有特定的产品问题,您应该访问 Azul.com 网站,并联系 Azul Systems 的销售部门。我在这里只代表我自己,与那家公司无关。我有时会使用他们的Zulu Community产品,但不会使用其他产品。
? 阅读Java is Still Free以了解 Oracle、OpenJDK 和各种 Java 实现供应商的生态系统。
这是我制作的流程图,以帮助指导您为 Java 11 的实现选择供应商。
Spe*_*ava 14
让我们从全面披露开始,我为 Azul 工作(我认为这使我有资格回答这个问题)。
OpenJDK 是一个“...在 Java 平台标准版和相关项目的开源实现上进行协作的地方”。首先,它托管自 JDK 6 以来 Java 版本的源代码存储库。 Sun 在 2007 年开源了他们的 JDK 7 实现,这就是 OpenJDK 的起源。随后,为 JDK 6 创建了一个项目(奇怪的是,它基于 JDK 7)。此后的每个版本都是通过 OpenJDK 开发的。
Azul 是一家专门从事 Java 和 JVM 产品的公司。
Zulu 是为 Azul 提供的 OpenJDK 二进制分发选择的名称。这有三个版本:
总而言之,OpenJDK 是源代码,Azul 是公司,Zulu 是从 OpenJDK 构建的二进制发行版。