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 -versionjava version 1.8.0_191java(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虚拟机的演进历程与变革是什么?的详细内容。