ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java虚拟机家族介绍

2021-04-18 11:02:24  阅读:271  来源: 互联网

标签:Java 虚拟机 VM HotSpot 家族 编译 编译器


1.虚拟机始祖:Sun Classic / Exact VM

1996,Sun公司发布JDK 1.0,所带虚拟机为Classic VM。

  • 纯解释器方式执行Java代码
  • 使用即时编译器必须进行外挂

Sun团队,JDK 1.2,发布Exact VM虚拟机

  • 具备现代高性能虚拟机雏形
  • 热点探测,两极即时编译器、编译器与解释器混合工作模式

两者最终被HotSpot VM所取代

  • JDK 1.2 - Classic与HotSpot并存,默认为Classic
  • JDK 1.3 - 默认为HotSpot
  • JDK 1.4 - Classic退出商用虚拟机舞台

2.武林盟主:HotSpot VM

  • Sun / OracleJDK 和 OpenJDK 中的默认Java虚拟机

3.天下第二:BEA JRockit / IBM J9 VM

BEA公司的JRockit

  • 专注于服务器端
  • 不包含解释器实现,代码全靠即时编译器编译后执行
  • BEA公司被Oracle公司收购,如今不再发展

IBM公司的IBM J9

  • J9虚拟机
  • 市场定位与HotSpot接近,全面考虑服务端、桌面应用、嵌入式

4.小家碧玉:Mobile / Embedded

Sun / Oracle 公司产品

  • 面向移动和嵌入式市场
  • 前途并不乐观

5.软硬合璧:BEA Liquid VM / Azul VM

软硬合璧:与特定硬件平台绑定、软硬件配合工作的专有虚拟机

越过通用操作系统直接控制硬件,最大限度发挥硬件能力

Liquid VM

  • 被称为JRockit VE
  • 不需要操作系统支持

Azul VM

  • 运行于Azul Systems公司的专有硬件Vega系统上
  • Vega生产线被放弃,投入Zing与Zulu产品线

6.挑战者:Apache Harmony / Google Android Dalvik VM

Apache Harmony

  • 率先开源
  • 推动了Android发展

Google Android Dalvik VM

  • 曾经是Android平台的核心组件之一
  • 在Android5.0中ART全面替代了Dalvik虚拟机

7.Java虚拟机未来展望

7.1 Graal VM:无语言倾向

  • 2018年4月,Oracle Labs公布
  • 官方称为“Universal VM”和“Polyglot VM”
  • HotSpot基础上诞生
  • 程序特化:将这些语言的代码编译后的中间格式通过解释器转换为能被Graal VM接收的中间表达形式

7.2 Graal编译器:新一代即时编译器

HotSpot中原有编译器:

  • CI:编译时间短,输出代码优化程度低
  • C2:编译时间长,输出代码优化程度高

Graal编译器

  • 以C2替代者身份登场
  • 借鉴了C2的优势,输出质量相近,开发效率与拓展型更强,更复杂的优化

7.3 Substrate VM:向Native迈进

小型微服务应用架构下,Java表现出不适应,需要预热才能达到最高性能

提前编译:相对于即时编译,可以减少即时编译带来的预热时间,但破坏了Java“一次编写,到处运行的承诺”

Substrate VM

  • 好处:显著降低内存占用及启动时间
  • 十分适合嵌入其他系统

标签:Java,虚拟机,VM,HotSpot,家族,编译,编译器
来源: https://blog.csdn.net/weixin_46990124/article/details/115819511

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有