JVM详解(一)--JVM和Java体系结构
目录
一、JVM的整体结构
二、JVM的架构模型
三、JVM的生命周期
1. 虚拟机的启动
2. 虚拟机的执行
3. 虚拟机的退出
四、JVM的发展历程
1. Sun Classic VM
2. Exact VM
3. HotSpot VM
4. JRockit
一、JVM的整体结构
JVM的整体结构如下图所示:
JVM的输入是字节码文件,类加载器子系统负责将字节码文件转化为一个大的Class对象。执行引擎负责将字节码指令转换为机器指令,用于操作系统进行识别。
二、JVM的架构模型
三、JVM的生命周期
1. 虚拟机的启动
2. 虚拟机的执行
3. 虚拟机的退出
四、JVM的发展历程
1. Sun Classic VM
解释器是逐行解释字节码,运行效率比较低。JIT编译器是一种即时编译器,会将代码即时的编译为本地机器指令,然后将本地机器指令进行缓存,执行的时候就不需要像解释器一样逐行再去翻译,提升程序执行效率。
注:JIT解释器一般只将热点代码进行即时编译进行缓存。如果将全部代码进行缓存的话,当程序开始执行的时候,会有很长一段时间的空窗期,这段时间是JIT编译器将代码编译为本地机器指令的时间。所以现在都将JIT和解释器结合进行使用。
2. Exact VM
3. HotSpot VM
4. JRockit
还有许多其他的虚拟机,此处不做过多的介绍。