01_JVM与Java体系结构
JVM发展历程
Sun Classic VM
Exact VM
为了解决上一个虚拟机问题,jdk1.2时,sun提供了此虚拟机。
Exact Memory Management:准确式内存管理
SUN 公司的 Hotspot VM
- HotSpot历史
- 最初由一家小公司设计。
- 1997年,此公司被Sun收购;2009年,Sun公司被甲骨文收购。
- JDK1.3时,HotSpot VM成为默认虚拟机。
- 目前HotSpot拥有绝对市场地位
- 无论是JDK6还是JDK8,默认的虚拟机都是HotSpot。
- Sun/Oracle JDK 和 OpenJDK的默认虚拟机。
BEA 的JRockit
- 专注于服务器端应用
- 可以不太关注程序启动速度,因此内部不含解析器实现,全部代码靠即时编译器编译后执行。
- JRockit JVM是世界上最快的JVM。
- 2008年,BEA被Oracle收购。
- Oracle在Java8中基本完成了HotSpot和JRockit的合并。
IBM 的 J9
- 目前,有影响力的三大商用虚拟机之一,号称世界上最快的Java虚拟机。
- 广泛应用于IBM的各种Java产品,但兼容性不如JRockit。
Dalvik VM
- 谷歌开发,应用于Android系统。
- 基于寄存器架构。
- .dex文件。
- 不能直接执行Java的Class文件.
- Android 5.0 使用提前编译的ART VM替换Dalvik VM.
Graal VM
- 2018年,Oracle公开了Graal VM,号称"Run programs faster anywhere",野心勃勃。
- 基于HotSpot增强而成的跨语言全栈虚拟机,可以作为任何语言的运行平台使用。包括:Java,Scale,Python等等等等。
- Graal VM在将来最有可能取代HotSpot。

浙公网安备 33010602011771号