Javac编译器优化
编译过程大致分为3个阶段:
- 解析与填充符号表过程
- 插入式注解处理器的注解处理过程
-
分析与字节码生成过程
Javac的编译过程
Java语法糖
- 泛型和类型擦除
- 自动装箱、拆箱与遍历循环
- 条件编译
即时编译器
解释器和编译器两者各有优势:当程序需要迅速启动和执行时,解释器可以首先发挥作用,省去编译时间,立即执行。在程序运行后,随着时间的推移,编译器逐渐发挥作用,把越来越多的代码编译成本地代码,可以获得更高的执行效率。

解释器与编译器的交互
编译器优化技术
- 公共子表达式消除
- 数组范围检查消除
- 方法内联
- 逃逸分析
参考资料
- 深入理解Java虚拟机 JVM高级特性与最佳实践 第2版
