Java虚拟机的历史,缓存架构技术


在Sun Classic发布之后,Sun的虚拟机团队在JDK 1.2发布了一个名为Exact VM的虚拟机,试图解决Classic VM遇到的所有问题。它的执行系统解决了经典VM的解释器和编译器不能同时工作的问题。它还具有现代高性能处理器的一些特点,如两级即时编译。

此外,Exact VM还改进了虚拟机的对象查找。在经典VM中,如果您想要找到对象,您需要通过句柄(类似于指针)来找到它。如果需要搜索对象,则需要通过它所构建的句柄树逐层搜索它。但是,在Exact VM中使用了精确内存管理,即虚拟机可以准确地知道内存中数据的类型,从而降低了搜索成本,提高了执行性能。

不幸的是,虽然ExactVM已经发布,但它直到退出后才真正大规模使用。当发布JDK 1.2时,启动了精确的VM,但Sun经典VM仍然是默认的Java虚拟机。当JDK 1.3发布时,虚拟机HotSpot VM被引入作为默认虚拟机,Sun Classic VM被引入作为备用虚拟机。

武林盟主:Sun HotSpot VM


热点VM可以说是最广泛使用的Java虚拟机,它几乎为所有Java虚拟机所知。但实际上,虚拟机不是由Sun开发的,而是由Longview Technologies开发的。Sun注意到JIT编译中的许多优秀结果,于1997年收购了Longview Technologies,并收购了HotSpot VM。

HotSpot不仅具有上述两台虚拟机(如精确的内存管理)的优点,还具有热点检测等许多新技术。热点检测技术是指通过执行计数器,找出最有价值的代码,然后通知JIT编译器在方法上进行深入的优化。但是Exact VM中也有类似的技术,Sun内部也有很大的争议,但是为什么选择HotSpot作为默认虚拟机还不清楚。

总的来说,自2000年发布JDK 1.3以来,HotSpot VM一直作为默认虚拟机处于历史阶段。现在,2018年,18年过去了,它仍然是我们最常用的虚拟机,它显示了Sun HotSpot VM的韧性。

百家争鸣:BEA JRockit / IBM J9 VM


所有这些都是Sun公司推出的虚拟机,但是除了Sun公司,其他组织和公司也开发了许多虚拟机实现,其中最著名的是BEA JRockit和IBM J9 VM。

BEA的JRockit是一个专注于服务器硬件和服务器应用程序场景的虚拟机。它对服务器场景做了很多优化,因此它不太关注程序启动速度。JRockit虚拟机不包含解释器实现,所有代码都由即时编译器编译和执行。此外,它的任务控制服务套件也非常强大。

IBM的J9 VM是一个更通用的虚拟机,它被定位为应用于从服务器到桌面应用程序到嵌入式系统的多用途虚拟机。IBM开发J9VM作为IBM各种Java产品的执行平台。

武林外传:那些无名虚拟机


从 Sun Classic、Sun Exact VM、Sun HotSpot VM,再到 BEA JRockit、IBM J9 VM,这几个虚拟机可以说是虚拟机的正史了,是每个 Java 程序员应该了解的。但在这之外,其实还有各种各样的虚拟机存在。

例如,最强大的不是上面提到的虚拟机,而是专用的商业和虚拟机,称为Azul VM和BEA.VM。这些虚拟机只在特定的硬件平台上运行,所以要求比较高。但是它的性能也很强。它可以管理至少几十个CPU和数百GB的内存资源,但也为垃圾收集器提供了在大内存范围内可控的GC时间,等等。

此外,还有许多其他虚拟机,比如Apache Harmony、Google Android Dalvik VM、Mircosoft JVM等等。

最后的赢家:Oracle


回顾所有这些历史,Sun发布的虚拟机似乎与Oracle无关。但在2010年,甲骨文收购了Sun,因此甲骨文拥有HotSpot VM。2008年,甲骨文从BEA收购了JRocket VM,拥有全球最好的两台虚拟机。

为了将来规划虚拟机,Oracle宣布将把JRockit的优秀特性集成到HotSpot VM中,例如移植JRockit的垃圾收集器和任务控制服务。

最后

每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。

如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。

领取这份Java零基础宝典只需要点击这里即可免费下载

要点击这里即可免费下载](https://gitee.com/vip204888/java-p7)**

[外链图片转存中…(img-vDmK6joZ-1628676038951)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值