继 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,其特点是不同的,主要的区别体现在不同内存区域使用的垃圾收集器不同、不同的垃圾收集器其垃圾回收算法是不同的。低延迟、吞吐率、单线程、并发、并行、大内存控制等都是可比较的点。



画个脑图,方便查阅

JVM 家族_java