各大虚拟机介绍
文章目录虚拟机的雏形SUN Classic VMExact VM现在的三大虚拟机HosSpot VMJRockit VMIBM J9国内的虚拟机TaoBao JVM未来有可能替代HotSpot的虚拟机Graal VM虚拟机的雏形SUN Classic VMJava1.0时Sun公式发布,世界上第一款商用虚拟机,JDK1.4时完全被淘汰内部只提供了解释器,运行比较慢如果使用JIT编译器需要进行外挂,
文章目录
虚拟机的雏形
SUN Classic VM
-
Java1.0时Sun公式发布,世界上第一款商用虚拟机,JDK1.4时完全被淘汰
-
内部只提供了解释器,运行比较慢
-
如果使用JIT编译器需要进行外挂,而且一旦使用了JIT编译器,解释器就不会再工作,编译器和解释器不能配合工作
-
现在HotSpot内置了此虚拟机
Exact VM
- 为了解决上一个虚拟机的问题
- 全称 Exact Memory Management 准确式内存管理
- 具备现代高性能虚拟机的雏形 热点探测、编译器和解释器混合工作
- 只在Solaris平台短暂使用,终被HotSpot虚拟机替换
现在的三大虚拟机
HosSpot VM
-
JDK1.3成为默认的虚拟机
-
HotSpot占有绝对的市场地位
-
不管是现在仍广泛使用JDK6,还是使用不较多的Jdk8,默认的虚拟机都是HotSpot
-
服务端、桌面、移动端、嵌入式都有应用
-
HotSpot指的是它的热点代码探测技术
-
通过计数器找到最具有编译价值的代码,触发即时编译或栈上替换
-
通过编译器和解释器协同工作,在程序响应时间和最佳执行性能中取得平衡
-
JRockit VM
-
专注于服务端应用,舍弃了解释器,全部代码靠即时编译器编译后执行
-
JRockit VM 是世界上最快的虚拟机
IBM J9
- 全称 IBM Technology for Java Virtual Machine 简称IT4J 内部代号J9
- 市场定为与HotSpot接近,服务端、桌面、嵌入式等多用途VM
- 广泛用于IBM的各种Java产品
- 有影响力的三大商用虚拟机之一
国内的虚拟机
TaoBao JVM
-
有ALiJVM团队开发。阿里,国内使用Java最强大的公司,覆盖云计算、金融、物流、电商等众多领域,需要解决高并发、高可用、分布式等问题。
-
基于OpenJDK开发自己的定制版本AlibabaJDK,简称AJDK。是整个阿里Java体系的基石。
-
基于OpenJDK HotSpot VM 发布的国内第一个优化、深度定制且开源的高性能服务器版Java虚拟机。
- 创新的GCIH(GC invisible heap) 技术实现了off-heap, 即将生命周期较长的Java对象从heap中移到heap之外,并且GC不能管理GCIH内部的Java对象,以此达到降低GC回收频率和提升GC的回收效率的目的。
- GCIH中的对象还能够在多个Java虚拟机进程中共享
- 针对大数据场景的ZenGC
-
TaoBao JVM应用在阿里产品上性能高,硬件严重依赖intel的cpu,损失了兼容性,但提高了性能。
未来有可能替代HotSpot的虚拟机
Graal VM
- 2018年4月, Oracle Labs公开了Graal VM,号称“Run Programs Faster Anywhere”, 勃勃野心。与1995年java的“write once,run anywhere”遥相呼应。
- Graal VM在HotSpot VM基础上增强而成的跨语言全栈虚拟机,可以作为“任何语言”的运行平台使用。语言包括:Java、Scala、Groovy、kotlin、C、C++、JavaScript、Ruby、Python、R等。
- 支持不同语言混用对方的接口对象,支持这些语言使用已经编写好本地库文件
- 工作原理是将这些语言的源代码或源代码编译后的中间格式,通过解释器转换为能被Graal VM接收的中间表示。Graal VM提供Truffle工具集快速构建念面向一种新语言的解释器。在运行时还能即时编译优化,获得比原生编译器更优秀的执行效率。
- 如果说HotSpot有一天真的有可能被取代,Graal VM希望最大。
更多推荐
所有评论(0)