HotSpot VM是一种广泛应用于Sun JDK和OpenJDK的Java虚拟机(JVM)。它最初由一家名为Longview Technologies的小公司开发,并且最初并非为Java而设计。它是从Strongtalk VM演化而来,旨在实现超过C语言50%的执行效率。Sun认识到了这个VM在JIT编译方面的出色思想和性能,并于1997年收购了Longview Technologies,从而获得了HotSpot VM。
HotSpot VM继承了Sun之前商业VM的优点,如准确的内存管理。它还引入了新技术,例如热点代码检测。热点代码检测功能使VM能够识别最频繁执行的代码,并通知JIT编译器编译这些方法。如果一个方法被频繁调用或包含大量迭代,它会触发标准编译或栈上替换(OSR)编译。通过协调编译器和解释器,HotSpot VM在优化程序响应时间和执行性能之间取得了平衡。它还减少了即时编译的时间压力,使得可以引入更多的代码优化技术和更高质量的本地代码输出。
2006年,Sun宣布将Java开源,包括HotSpot VM,在GPL许可下开放源代码。这导致了OpenJDK的建立,其中HotSpot VM成为Sun JDK和OpenJDK的共同虚拟机。
2008年和2009年,Oracle分别收购了BEA和Sun,使得Oracle拥有了两个优秀的Java虚拟机:JRockit VM和HotSpot VM。Oracle宣布计划将这两个VM进行整合,充分利用各自的优势。整合涉及将JRockit的垃圾收集器和MissionControl服务移植到HotSpot,同时保留HotSpot的JIT编译器和混合运行时系统。
Learn more:
本文作者:yowayimono
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!