什么是HotSpot,它与JVM和OpenJDK有什么关系?它是一个库吗?它具体做了什么?
此外,OpenJDK和HotSpot之间有什么区别?
什么是HotSpot,它与JVM和OpenJDK有什么关系?它是一个库吗?它具体做了什么?
此外,OpenJDK和HotSpot之间有什么区别?
OpenJDK 是一个开源项目,完全实现了Java规范、JSR和JEP,这些定义了Java平台。主要贡献者包括Oracle、IBM、Apple和其他公司。
我所知道的每个JVM实现都完全或大部分基于OpenJDK的代码库,并使用HotSpot或OpenJ9技术。
除了JVM,OpenJDK还提供了所有Java SE规范所需的类的源代码实现,例如java.lang、java.util、java.time和其他包。
< p > HotSpot 的源代码作为 OpenJDK 项目的一部分进行存储、维护和进一步开发。而另一种选择,OpenJ9,则由 Eclipse Foundation 进行存储、维护和进一步开发,有时会在一些 OpenJDK 的发行版中取代 HotSpot。另外,OpenJDK和HotSpot有什么区别?
一些 Java 技术的发行版选择使用 HotSpot。而一些发行版则选择用替代品 OpenJ9 替换 OpenJDK 代码库中的 HotSpot 部分。
以下是一个流程图,帮助您选择 Java 平台发行版的供应商。
OpenJDK(Open Java Development Kit)是Java平台标准版(Java SE)的免费开源实现。openjdk是由Sun Microsystems发起的项目,如今由许多公司和社区负责构建完全开源的Java开发工具包。根据官方文档所述。
OpenJDK是Java平台标准版(Java SE)规范的开源实现。 2007年5月,Sun以GNU通用公共许可证第二版(GPLv2)的自由软件形式向OpenJDK社区发布了Java SE的完全可构建的Java开发工具包(JDK)版本。 Sun宣布了OpenJDK社区的临时治理委员会。 Sun还宣布,基于OpenJDK的实现可以使用Java SE 6技术兼容性套件(JCK)来确立与Java SE 6规范的兼容性。
OpenJDK项目由多个组件组成- HotSpot(虚拟机)、Java类库和javac Java编译器。有关更多信息,请访问其网站。
Sun / Oracle提供的当前JVM称为HotSpot,因为它在代码中寻找使用热点(代码更密集使用的地方)进行“即时”优化。根据维基百科,HotSpot作为“Java HotSpot性能引擎”发布,是一种用于桌面和服务器的Java虚拟机,由Oracle Corporation维护和分发。
HotSpot是一种高级的C++黑客技术,为了使用它,您必须针对它进行构建,以便编译甚至最简单的东西。除非您调整编译器或从头开始编写编译器。 HotSpot基本上是一种将源代码转换为C++代码,然后编译为本地代码的方法,因此术语jit编译。