javac前端编译 | 注解处理 | |
词法分析、符号表 | ||
语义分析、字节码 | ||
JVM后端编译(字节码->机器码) | 解释执行 | |
编译执行(JIT即时编译) | C1 Client Compiler | |
C2 Server Compiler | ||
分层编译 |
即时编译器(Just In Time Compiler)
1、解析与填充符号表;
2、注解处理器;
3、语义分析与字节码生成:
3.1、标注检查
3.2、数据及控制流分析
3.3、解语法糖
1、泛型与类型擦除
2、自动装箱、拆箱与遍历循环
3、条件编译
4、字节码生成