Answers:
OpenJDK(开放Java开发工具包)是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项目包括多个组件的- 热点(虚拟机)中,Java类库和javac的Java的compiler.For更多关于它,请访问其网站。
Sun / Oracle提供的当前JVM之所以称为HotSpot,是因为它会在代码中(使用代码的地方使用更密集)寻找“实时”优化的热点。从维基百科,热点,发布了作为“的Java HotSpot的性能引擎”是台式机和服务器,维护和由Oracle公司分发的Java虚拟机。
注:AdoptOpenJDK已更名为Adoptium移动到Eclipse基金会在2020-06下旬之后。
JVM和HotSpot之间的区别?
一个Java虚拟机(JVM)是从未被物理建成硬件假想计算机。JVM运行编译为虚构指令集的程序,该虚构指令集被称为字节码的中间表示形式写入存储。
在运行时,字节码必须从虚拟指令集转换为主机CPU的实际指令集。可以由口译员即时完成。或者字节码可以被完全编译和缓存,以比通过解释器快得多的速度在称为即时(JIT)编译的过程中运行。
几十年来,已经有许多JVM的实现。大多数已经消失了。
HotSpot是JIT技术的一种实现,它从运行解释开始,并监视应用程序的实际性能。然后选择应用程序的各个部分以完全编译为本机代码并进行缓存,以加快执行速度。HotSpot是 Sun作为商业产品开发的。收购Sun之后, Oracle通过结合其竞争产品 JRockit的重要部分进一步发展了HotSpot。HotSpot现在通过 OpenJDK项目开源,可以免费获得。
由IBM开发的OpenJ9中的另一个这样的实现,现在通过Eclipse Foundation开源并免费提供。一些基于OpenJDK构建的JVM发行版将HotSpot替换为OpenJ9,同时仍使用其他OpenJDK(例如Java SE类库)。例如,在AdoptOpenJDK上可用的预构建发行版在某些硬件上提供了HotSpot或OpenJ9的选择。
该图显示了HotSpot和JRockit合并的历史,以及AdoptOpenJDK中都提供的OpenJ9。
什么是HotSpot?它与JVM和OpenJDK有什么关系?是图书馆吗?它到底是做什么的?
众所周知,OpenJ9的启动速度更快,最初的内存使用量更低,而HotSpot可能对于长期运行的应用程序整体上更高效地运行。两者都是备受推崇,陈旧的产品,并且随OpenJDK发行版一起提供。
OpenJDK是一个开源项目,它完全实现了定义 Java平台的 Java规范, JSR和 JEP。我今天知道的每个JVM实现都完全或大部分基于OpenJDK代码库,并使用HotSpot或OpenJ9技术。
除JVM外,OpenJDK还为Java SE规范所需的所有类提供了源代码实现,例如java.lang,java.util,java.time和其他软件包。
另外,OpenJDK和HotSpot有什么区别?
作为OpenJDK项目的一部分,HotSpot的源代码已得到保存,维护和进一步开发。替代品OpenJ9由Eclipse Foundation容纳,维护和进一步开发,同时在某些OpenJDK发行版中替代了HotSpot。
一些Java技术发行版选择与HotSpot一起提供。一些发行版选择用替代品OpenJ9代替OpenJDK代码库的HotSpot 部分。
这是一个流程图图形,可帮助您选择用于Java平台发行版的供应商。
如上所述,HotSpot是Java虚拟机(JVM)概念的跨平台实现,并根据GNU通用公共许可证与OpenJDK(Java开发人员工具包)一起分发。HotSpot主要用C ++编写,最初是在Sun Microsystems下开发的。目前,它是在OpenJDK项目下开发的,网址为www.java.net。HotSpot JVM可作为Java 1.2的附加组件使用,后来在Java 1.3中用作默认的Sun JVM。JVM当前在版本7,内部版本b147中,并具有活跃的开发社区。
有关更多信息,请转到:https : //www.java.net/
编码愉快!