
淘宝技术大学 应届生培训
JVM 工作原理
课程组:雷卷 小邪 九穆
版本:第一版 2009 年

达到的目标
知道 Java 虚拟机的生存周期
知道 JVM 的体系结构
知道 JVM 体系结构中的各个部分
能对 JVM 有个大致清晰的了解

3
内容
JVM 的生命周期
JVM 的体系结构
JVM 类加载器
JVM 执行引擎
JVM 运行时数据区
JVM 垃圾回收
问题

4
JVM 的生命周期
一、首先分析两个概念
JVM 实例和 JVM 执行引擎实例
( 1 ) JVM 实例对应了一个独立运行的 java 程序
它是进程级别
( 2 ) JVM 执行引擎实例则对应了属于用户运行程序的线程
它是线程级别的

5
JVM 的生命周期
二、 JVM 的生命周期
( 1 ) JVM 实例的诞生
当启动一个 Java 程序时,一个 JVM 实例就产生了,任何一个拥有
public static void main(String[] args) 函数的 class 都可以作为 JVM 实例运行
的起点
( 2 ) JVM 实例的运行
main() 作为该程序初始线程的起点,任何其他线程均由该线程启动。 JVM
内部有两种线程:守护线程和非守护线程, main() 属于非守护线程,守护线
程通常由 JVM 自己使用, java 程序也可以标明自己创建的线程是守护线程。
( 3 ) JVM 实例的消亡
当程序中的所有非守护线程都终止时, JVM 才退出;若安全管理器允许,程
序也可以使用 Runtime 类或者 System.exit() 来退出。