AdoptOpenJDK 项目似乎将 JDK 与 HotSpot JVM 捆绑在一起(作为一种可能的选择)。但是那它和 OpenJDK 是什么关系呢?
我理解OpenJDK 这个词可能是模棱两可的。这里我指的是(引自维基百科)
Java 平台标准版 (Java SE) 的免费和开源实现。
我认为它已经包含一个 JVM。
AdoptOpenJDK 项目似乎将 JDK 与 HotSpot JVM 捆绑在一起(作为一种可能的选择)。但是那它和 OpenJDK 是什么关系呢?
我理解OpenJDK 这个词可能是模棱两可的。这里我指的是(引自维基百科)
Java 平台标准版 (Java SE) 的免费和开源实现。
我认为它已经包含一个 JVM。
更新: AdoptOpenJDK已将其名称更改为Adoptium,作为其迁移到 Eclipse Foundation 的一部分。
OpenJDK 为Java 规范、JSR和JEP中定义的Java 平台的完整实现提供了完整的源代码。Java 平台的实现包括很多东西,其中包括:
.class
Java 字节码文件。.java
Java 的实现可以选择提供即时 (JIT) 编译器/优化器作为 JVM 的一部分。OpenJDK 项目包括HotSpot JIT 的源代码。
为 Java 平台提供构建或安装程序的人可以自由使用 HotSpot 或选择其他 JIT 编译器技术。OpenJ9是一种这样的替代 JIT,由 IBM 开发,现在通过 Eclipse 基金会开源,并免费提供。过去,另一个替代 JIT 是Oracle 拥有的JRockit。部分 JRockit 已合并到当前版本的 HotSpot。
AdoptOpenJDK项目让您可以选择Oracle 通过 OpenJDK 项目提供的 HotSpot 引擎或 Eclipse Foundation 提供的替代OpenJ9引擎。
无论选择哪种方式,您都可以从 OpenJDK 代码库中获得相同的类库、相同的工具(包括来自 OpenJDK 的Mission Control和Flight Recorder)以及来自 OpenJDK 的相同实用程序。无论您选择 HotSpot 还是 OpenJ9,只有 JIT/JVM 不同。
AdoptOpenJDK 只是提供 Java 技术分发作为二进制文件/安装程序的几个供应商之一。其中大部分基于(如果不是完全的话)OpenJDK 项目的源代码版本。这是向您展示各种供应商的流程图。
以下是选择供应商时可能考虑的动机列表。