深入理解Java虚拟机Day5(程序编译与代码优化)考虑到可能不是面试重点,暂时跳过
第10章 前端编译与优化
10.1 概述
在Java技术下谈“编译期”而没有具体上下文语境的话,其实是一句很含糊的表述,因为它可能是指一个前端编译器(叫“编译器的前端”更准确一些)把.java文件转变成.class文件的过程;也可能是指Java虚拟机的即时编译器(常称JIT编译器,Just In Time Compiler)运行期把字节码转变成本地机器码的过程;还可能是指使用静态的提前编译器(常称AOT编译器,Ahead Of Time Compiler)直接把程序编译成与目标机器指令集相关的二进制代码的过程。
本章主要讲JIT编译器
10.2 Javac编译器
Javac编译器是用java语言写的。
10.3 Java语法糖的味道
语法糖可以看作是前端编译器实现的一些“小把戏”,这些“小把戏”可能会使效率得到“大提升”,但我们也应该去了解这些“小把戏”背后的真实面貌,那样才能利用好它们,而不是被它们所迷惑。
1.泛型