为了账号安全,请及时绑定邮箱和手机立即绑定

AdoptOpenJDK 不是使用 OpenJDK(的 JVM)吗?

AdoptOpenJDK 不是使用 OpenJDK(的 JVM)吗?

Helenr 2024-01-05 10:04:37
AdoptOpenJDK 项目似乎提供了与 HotSpot JVM 捆绑在一起的 JDK(作为一种可能的选择)。那么它和 OpenJDK 是什么关系呢?我知道OpenJDK 这个词可能含糊不清。这里我指的是(引自维基百科)Java 平台标准版 (Java SE) 的免费开源实现。我认为它已经包含了一个 JVM。
查看完整描述

1 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

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


OpenJDK 为Java 规范、JSR和JEP中定义的Java 平台的完整实现提供完整的源代码。Java 平台的实现包括许多内容,其中包括:

  • Java 编程语言编译器,用于从源代码文件创建.class Java 字节码.java文件。

  • Java虚拟机 (JVM),可以在运行时解释和/或编译这些 Java 字节码文件,将它们转换为可以使用该CPU的本机指令集在主机的核心上运行的可执行代码。

  • 将 Java 应用程序与主机资源(例如文件系统和网络设施)连接起来的运行时环境。

  • 一组必需的 Java 类库(java.utiljava.time等)。

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

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

https://img1.sycdn.imooc.com/659763d90001b70b06540882.jpg

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

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

https://img1.sycdn.imooc.com/659763e500017d7e06540900.jpg

AdoptOpenJDK 只是以二进制文件/安装程序形式提供 Java 技术发行版的几家供应商之一。其中大多数即使不是完全也是主要基于 OpenJDK 项目的源代码版本。

以下列出了选择供应商时需要考虑的可能动机。

https://img1.sycdn.imooc.com/6597640a0001851306531099.jpg




查看完整回答
反对 回复 2024-01-05
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信