虚拟机家族
Sun Classic
世界上第一款商用Java虚拟机
- 只能用纯解释器的方式来执行Java代码
- 如果使用JIT编译器 需要进行外挂
- JDK1.2之前唯一的虚拟机 在JDK1.4被淘汰
- 基于句柄的对象查找方式
Exact VM
命运短,只在Solaris平台短暂使用
- 具备高性能虚拟机雏形 如热点探测 编译器与解释器混合工作
- 准确式内存管理 虚拟机知道内存中的某个位置的数据具体是什么类型 是垃圾收集时准确判断堆上的数据是否有可能被使用的前提
HotSpot VM
目前拥有绝对的市场地位
- 提出了方法区的概念
- 通过计数器找到最具编译价值代码 触发即时编译或栈上替换
- 通过编译器或解释器协同工作 在最优化的程序响应时间与最佳执行性能中取得平衡
BEA JRockit
专注于服务器端的应用
- 不关注程序的启动速度 因此内部不包含解析器 全部代码靠即时编译器实现
- 是最快的JVM
IBM J9
市场定位与HotSpot接近 服务器端、桌面应用、嵌入式等多领域
也号称世界上最快的JVM
最有影响力的三大商用虚拟机: HotSpot JRockit J9