ICode9

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

JAVA虚拟机-01-JAVA虚拟机家族简介

2021-10-27 15:33:27  阅读:155  来源: 互联网

标签:解释器 01 JAVA 虚拟机 VM 编译 编译器


JAVA虚拟机家族简介

Classic VM

  JDK1.0发布,第一款商议的JAVA虚拟机。纯解释器方式来执行java代码的的JAVA虚拟机。如果要使用即时编译就需要外挂编译器。如果外挂了编译器,及时编译器会完全接管虚拟机的执行系统,解释器就不能工作。也就是说解释器和编译器不能配合工作。这也就意味着,如果要使用编译执行,编译器就对所有代码进行编译。

  在JDK1.2之前,它是唯一的虚拟机。JDK1.2时,它和HOT SPOT VM 并存,默认使用Classic VM,JDK1.3时默认使用HOT SPOT VM。JDK1.4,Classic VM退出商用虚拟机的历史舞台。

 

Exact VM

  它是为了解决Classic VM的一些问题而开发出来的虚拟机。它有了热点探测、两级即时编译器、编译器和解释器混合工作等模式。它使用准确试内存管理,虚拟机可以知道内存中某个位置存了什么数据是什么类型。有能力分辨它是一个引用地址还是实际的数据,这是垃圾收集时正确判断堆上的数据是否还可能被使用的前提。

  很可惜的是它只存在了很短的时间,就被HotSpotVM替代。只发行了Solaries版本,windows版本和linux版本都没有。

 

Hou Spot VM

  它是OpenJDK和OrcaleJDK的默认的JAVA虚拟机,是目前使用最广的JAVA虚拟机。

  它是由Longview Technologies设计开发的,在1997年被sun公司收购。

  HotSpot继承了Classic VM和Exact VM的优点,也有自己的优势。

  它的名称中HotSpot指的是它的热点买吗探测技术。它可以通过执行计数器找到最具有编译价值的家吗,通过即时编译器以方法为单位编译。如果一个方法被频繁调用或者有效循环次数很多,会分别触发标准即时编译和栈上替换编译。通过编译器和解释器的协同工作,可以在最优化的程序响应时间和最佳执行性能中取得平衡。

 

KVM

  除了服务器、桌面领域,JAVA也有移动端的虚拟机。简单、轻量、高度可移植,在移动平台运行

 

JRokeit

  由BEA公司设计开发的,后面BEA被oracle收购。

  它专注于服务器端应用,所以不关注程序的启动速度。它内部不包含解释器的实现,全部代码都靠即时编译器编译执行。它的垃圾回收器和Jvava Mission Controller故障处理套件的实现,在当时也处于领先水平。但是它被Oracle收购后,永远的停留在R28版本,这是JDK6版Jrocket的代号。

 

IBM J9

  由IBM设计开发。它在设计上是全面考虑桌面、嵌入式、服务器的多用途虚拟机。J9的职责分离和模块化做的比HotSpot更好。它到今天的应用还是比较活跃的。

 

标签:解释器,01,JAVA,虚拟机,VM,编译,编译器
来源: https://www.cnblogs.com/jthr/p/15470922.html

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

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

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

ICode9版权所有