Java源码到执⾏的过程,从JVM的⻆度看可以总结为四个步骤:编译->加载->解释->执⾏
- 「编译」经过 语法分析、语义分析、注解处理 最后才⽣成会class⽂件
- 「加载」⼜可以细分步骤为:装载->连接->初始化。装载则把class⽂件装载⾄JVM,连接则校验class信 息、分配内存空间及赋默认值,初始化则为变量赋值为正确的初始值。连接⾥⼜可以细化为:验证、准 备、解析
- 「解释」则是把字节码转换成操作系统可识别的执⾏指令,在JVM中会有字节码解释器和即时编译器。 在解释时会对代码进⾏分析,查看是否为「热点代码」,如果为「热点代码」则触发JIT编译,下次执⾏ 时就⽆需重复进⾏解释,提⾼解释速度
- 「执⾏」调⽤系统的硬件执⾏最终的程序指令