01-JVM 与 Java 体系结构
1. JDK & JRE
2. Java语言与Java虚拟机
3. Java发展的重大事件
4. 虚拟机与Java虚拟机
5. JVM的整体结构
HotSpot VM 是目前市面上高性能虚拟机的代表作之一。 它采用 [解释器] 与 [即时编译器] 并存 的架构。
- 解释器:保证响应时间。及时对字节码文件逐行解释执行
- JIT:保证性能。针对字节码指令中某些反复执行的指令(热点代码) 再次编译成机器指令(二次编译) 放在方法区中缓存起来,以便之后调用
6. Java代码执行流程
7. JVM的架构模型
Java编译器输入的指令流基本上是一种基于栈的指令集架构;另外还有一类指令集架构则是基于寄存器的指令集架构
- 区分两种指令集架构
- 例 1:
int a = 2; int b = 3; int k = a + b;
- 基于栈的计算流程
0: iconst_2 1: istore_1 2: iconst_3 3: istore_2 4: iload_1 5: iload_2 6: iadd 7: istore_3
- 基于寄存器的计算流程
mov eax, 2 // 将eax寄存器的值设为2 add eax, 3 // 将eax寄存器的值加3
- 基于栈的计算流程
- 例 2
8. JVM的生命周期
以下是简化的伪代码,用于说明 java 命令的操作。实际上 java 命令的实现会更加复杂,涉及到类加载器的层级、字节码解释或编译执行、内存管理、线程管理等多个方面。