一、Sun Classic/Extract VM
Classic VM:世界上第一台商用的 JVM,1996年1月23日 JDK1.0。解释器和编译器单独执行,编译执行耗时高,“Java语言很慢”由此而来。JDK1.1和JDK1.2默认的虚拟机
Extract VM:具备现代高性能虚拟机的雏形,JDK1.2。两级即时编译器,编译器和解释器混合执行。准确式内存管理。
二、Sun HotSpot VM
非SUN公司设计。sun公司收购而来:热点代码探测技术。来源于Strongtalk VM.
三、Sun Mobile-Embedded VM/Meta-Circular VM
(1)KVM
强调简单、轻量、可移植性,曾经在IOS和android系统上广泛使用过,弊端:运行速度较慢。
(2)Squawk VM
嵌入式的虚拟机
(3)JavaInJava
实验室虚拟机,用java语言实现的虚拟机
(4)MaxineVM
与JavaInJava相似,05年开始,仍在发展中,性能接近HotSpot VM
四、BEA JRotkit/IBM J9 VM
JRotkit :专注于服务器端的应用,曾号称“速度最快的虚拟机” BEA于02年收购的虚拟机,不关注程序的启动速度,全部靠即时编译器实现。它的垃圾回收机制和MisControl处于世界领先地位。
J9 VM :产生于 IBM的实验室,类似于HotSpot,专注于全领域的使用。主要使用领域式IBM的产品搭配和IBMAix,Z/ox等
五、Azul VM/BEA Liquid VM
Azul Systems公司在HotSpot基础上改进,,运行于Azul系统上转悠虚拟机。
BEA Liquid VM: 不需要操作系统的支持。
六、Apache Harmony/Google Android Dalvik VM
Apache Harmony和Google Android Dalvik VM,并非Java专有的虚拟机,兼容java语言。
Google Android Dalvik VM当前android的核心套件之一,没有遵循jvm规范。使用寄存器架构,不是JVM常见的栈架构。
七、Micsoft VM
Java Applets, 微软的IE浏览器支持的支持的Java程序,微软的winsows系统安装虚拟机支持次应用