2

AdoptOpenJDK 项目似乎将 JDK 与 HotSpot JVM 捆绑在一起(作为一种可能的选择)。但是那它和 OpenJDK 是什么关系呢?


我理解OpenJDK 这个词可能是模棱两可的。这里我指的是(引自维基百科

Java 平台标准版 (Java SE) 的免费和开源实现。

我认为它已经包含一个 JVM。

4

1 回答 1

7

更新: AdoptOpenJDK已将其名称更改为Adoptium,作为其迁移到 Eclipse Foundation 的一部分。


OpenJDK 为Java 规范JSRJEP中定义的Java 平台的完整实现提供了完整的源代码。Java 平台的实现包括很多东西,其中包括:

Java 的实现可以选择提供即时 (JIT) 编译器/优化器作为 JVM 的一部分。OpenJDK 项目包括HotSpot JIT 的源代码。

为 Java 平台提供构建或安装程序的人可以自由使用 HotSpot 或选择其他 JIT 编译器技术。OpenJ9是一种这样的替代 JIT,由 IBM 开发,现在通过 Eclipse 基金会开源,并免费提供。过去,另一个替代 JIT 是Oracle 拥有的JRockit。部分 JRockit 已合并到当前版本的 HotSpot。

图表显示了 JVM 中 JIT 选项的演变,旧的 HotSpot 与 JRockit 合并以产生现代 OpenJDK HotSpot,而替代的 J9 被开源为 OpenJ9。

AdoptOpenJDK项目让您可以选择Oracle 通过 OpenJDK 项目提供的 HotSpot 引擎或 Eclipse Foundation 提供的替代OpenJ9引擎

无论选择哪种方式,您都可以从 OpenJDK 代码库中获得相同的类库、相同的工具(包括来自 OpenJDK 的Mission ControlFlight Recorder)以及来自 OpenJDK 的相同实用程序。无论您选择 HotSpot 还是 OpenJ9,只有 JIT/JVM 不同。

AdoptOpenJDK 下载页面的屏幕截图,您可以选择 HotSpot JIT 或 OpenJ9 JIT。

AdoptOpenJDK 只是提供 Java 技术分发作为二进制文件/安装程序的几个供应商之一。其中大部分基于(如果不是完全的话)OpenJDK 项目的源代码版本。这是向您展示各种供应商的流程图。

指导您为 Java 11 实施选择供应商的流程图

以下是选择供应商时可能考虑的动机列表。

选择 Java 供应商的动机

于 2019-12-12T07:42:05.377 回答