JVM运行机制全景图:从源码到执行的全过程
JVM运行机制全景图:从源码到执行的全过程
引言:你真的了解 Java 是怎么跑起来的吗?
许多开发者写完 Java 代码之后,就交给编译器和运行时去“神奇”地执行了。但你有没有想过,一段 .java
文件是如何一步步变成可运行的程序?今天,我们就从 源码 ➝ 字节码 ➝ 类加载 ➝ 执行引擎 全链路,揭开 JVM 运作的全过程。
一、Java 程序从源代码到字节码的过程
.java
文件由javac
编译器编译为.class
文件.class
文件中保存的是字节码(Bytecode)而不是机器码- 字节码是 JVM 可以识别和执行的一种中间代码格式
- 特点:平台无关性 和 可移植性
示例:编译一段 Java 代码后的字节码展示(使用
javap -c
)
二、JVM 的类加载机制
类加载是程序执行前的第一步,JVM 会将 .class
文件加载至内存中,交给执行引擎处理。
类加载过程分为五个阶段:
- 加载(Loading)
- 加载cla