您现在的位置是:主页 > www.sb688.com > 什么是VM HotSpot?
时间:2019-10-10 04:05 来源:365bet 阅读次数:
安装HotSpotVM时,您会知道所有Java程序员都是SunJDK和OpenJDK附带的虚拟机,并且是使用最多的Java虚拟机。 但是,并非所有人都知道,现在这种纯虚拟机显然不是最初由Sun开发的,而是由一家名为Longview Technologies的小公司设计的。该虚拟机最初是针对StrongtalkVM开发的,而不是针对Java语言开发的,并且该虚拟机的许多技术都支持Cel语言的实现,执行50%C语言的虚拟机Sun的效率。警告此虚拟机对JIT编译有很多很棒的想法和实际效果。1997年,Longview Technologies被收购以收购HotSpotVM。 HotSpotVM继承了Sun的两个商用虚拟机的优势(例如上述精确的内存管理),HotSpot是一种主动代码检测技术(实际上是两个机器),虚拟产品基本上是HotSpot作为前一产品,HotSpot最初是一个准确的GC,ExactVM的热点检测与HotSpot几乎相同。 Sun仍在争论ExactVM和HotSpotVM能否成为Sun的领先VM产品。击败确切的热点并不是技术上的胜利。HotSpotVM的活动代码检测器可以通过运行计数器找到大多数编译器值,并且代码告诉JIT编译器编译该方法。 如果频繁调用该方法,或者该方法中有许多有效循环,则分别触发标准编译和OSR编译(堆栈替换)操作。 正确使用解释器和编译器可以在程序的最佳响应时间和最佳执行性能之间取得平衡,而不必等待本地代码输出来运行程序。即时编译的时间压力相对减少,有助于引入更多代码优化技术并生成高质量的本机代码。 在2006年JavaOne大会上,Sun最终宣布它将开放Java,第二年,在GPL下启动了JDK的各个部分(当然包括HotSpotVM),其基础是OpenJDK的构建。 通过这种方式,HotSpotVM成为两个非常接近SunJDK和OpenJDK的JDK项目的通用虚拟机。 在2008年和2009年,Oracle分别收购了BEA和Sun,因此Oracle拥有两个出色的Java虚拟机:JRockitVM和HotSpotVM。 甲骨文宣布,在不久的将来(几乎在JDK8可用时),这两个虚拟机的集成将完成,并将相互补充。 集成的格式基本上基于HotSpot,并且具有JRockit的强大功能,例如使用JRockit垃圾收集器,MissionControl服务,HotSpot JIT编译器和混合运行时系统。 ![]() |