JVM特点
- 一次编译,多处运行
- 自动内存管理
- 自动垃圾回收功能
JVM的整体结构
JVM的架构模型
基于栈式架构
设计和实现简单,适用于资源受限的系统。不需要硬件支持,可移植性更好。
由于跨平台性,Java的指令都是根据栈设计的
特点:跨平台性,指令集小,指令多,执行性能比寄存器差
基于寄存器架构
完全依赖于硬件,可移植性差
性能优秀,执行更高效
发展历程
Sun Classic VM
世界上第一款商用Java VM
只提供解释器(不包含后端编译器JIT,可以寻找热点代码,存入缓存,提高效率)
现在Hotspot内置了此VM
Sun Hotspot VM
Sun JDK,Open JDK默认VM
通过PC寄存器(程序计数器)找到最具有编译价值的代码,触发即时编译
通过编译器和解释器协同工作,在优化时间与执行性能上取得平衡