HotSpot到底是什么以及它与JVM和OpenJDK有什么关系?它到底是做什么的?另外,OpenJDK和HotSpot有什么区别?
Java虚拟机规范
根据定义,JVM是虚拟机。即一个模拟真机操作的软件机器。像真机一样,它有一个指令集,一个虚拟计算机架构和一个执行模型。它能够运行用这个虚拟指令集编写的代码,就像真机可以运行机器代码一样。
HotSpot 是JVM概念的一个实现。它最初由Sun开发,现在由Oracle拥有。 JVM规范还有其他实现,例如 JRockit , IBM J9 等等。
OpenJDK 是一个项目在此基础上开发了HotSpot的开源实现(以及JDK的许多其他部分,例如编译器,API,工具等)。
我们在命令行输入java -version的时候,会输入其实现方式。如下:
**自我总结:**jvm是规范,而HotSpot是实现方式,并且在openJdk的项目上开发的。