最近提到比较多的,肯定是全球三大商业虚拟机Oracle的HotSpot,BEA的JRockit,IBM的J9,都得益于Sun/OracleJDK在Java应用中的主导地位,HotSpot理所当然地成为了世界上使用最广泛的Java虚拟机,成为了一家没有任何争议的公司。
1、Sun Classic/Exact VM
Class VM (JDK 1.0)
世界上第一款商用 Java 虚拟机
纯解释器方式执行 Java 代码
对象查找基于句柄
Exact VM (JDK 1.2)
准确式内存管理:虚拟机可以知道内存中某个位置的数据具体类型
2、HotSpot VM
Sun/OracleJDK 和 OpenJDK 中默认虚拟机
目前使用范围最广的 Java 虚拟机
由于 HotSpot 虚拟机是目前使用最广泛的,而且是目前 OracleJDK 和 OpenJDK 的默认虚拟机,后文的内容分析主要是针对该虚拟机。
终端执行 java -version 命令如下:
$ java -version java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
3、Mobile/Embedded VM
Java ME 虚拟机
4、BEA JRockit/IBM J9 VM
这两个虚拟机曾与 HotSpot 虚拟机并称"三大商业 Java 虚拟机"。
JRockit
专注于服务端应用
不含解释器,全部代码都由即时编译器编译后执行
J9 VM
职责分离与模块化优于 HotSpot VM
以上就要Java虚拟机的发展变化,可以说从最开始的简单虚拟机,已经衍生出可不同的版本和型号,类似本篇所提到的虚拟机类型还是很多的,大家可以课后自行查询资料。