# jvm内存结构

# 1. .class字节码文件
由javac前端编译器编译后的字节码文件
# 2. 类加载子系统

类加载子系统分为三步:
- 加载阶段
- 引导类加载器 bootstrap classloader
- 扩展类加载器 extension classloader
- 应用类加载器 application classloader
- 链接阶段
- 验证 verify
- 准备 prepare
- 解析 resolve
- 初始化阶段
- 静态变量的显示初始化
# 3. 运行时数据区

- 方法区
- 堆
- 栈
- PC寄存器
- 本地方法栈
# 4. 本地方法接口
# 5. 执行引擎

- 解释器
- 即时编译器
- 代码生成器
- 中间代码生成器
- 代码优化器
- 目标代码生成器
- 分析器
- 代码生成器
- 垃圾回收器