继 Java 版本与功能的发展史,再来理一理其间出现过的虚拟机。
Classic VM,JDK 1.0,第一款商用 JVM,纯解释执行。
Exact VM,JDK 1.2,准确式内存管理,性能比 Classic VM 明显提高。
HotSpot,JDK 1.3 默认使用,Longview Technologies 公司设计,被 Sun 收购,被广泛使用。
JRockit,BEA System 公司开发,专注服务端的虚拟机,不包含解释器,被 Oracle 收购。
J9,IBM 开发,多用于自己公司 Java 平台,与 HotSpot 定位类似。
Liquid VM,基于 JRockit 开发用,不需要操作系统,用于专属硬件平台。
Azul VM,基于 HotSpot 改进,Vega 系统上的专属虚拟机,可以管理多 CPU 和 几百 G 大内存。
Zing VM,基于 HotSpot 改进,用于 Linux/x86-64 平台,支持 TB 级内存,低延迟速预热,可保证暂停时间持续稳定在 10 ms 内。
Microsoft JVM,微软开发的 Windows 下的 Java 虚拟机,因被起诉已停止。
摘自:《深入理解 Java 虚拟机》
还有很多 JVM 名声没那么大,不一一列举。不同的 JVM,其特点是不同的,主要的区别体现在不同内存区域使用的垃圾收集器不同、不同的垃圾收集器其垃圾回收算法是不同的。低延迟、吞吐率、单线程、并发、并行、大内存控制等都是可比较的点。
画个脑图,方便查阅