JAVA编译期:
java编译器,是不确定的过程,可能指:
1. 前端编译器
(即,把 .java文件转变成 .class的过程); 例如:Javac
2.后端运行期编译器 JIT
(把 字节码 转变成 机器码的过程); 例如:HotSpot VM 的 C1 C2 编译器
3. 静态提前编译器AOT
(直接把 .java 文件编译为 本地机器代码 的过程);例如:GNU Compiler for the Java (GCJ)
javac编译器(前端编译器)
1. javac编译分为3个过程,如图所示:
Javac编译动作的入口是com.sun.tools.javac.main.JavaCompiler类,上述3个过程的代码逻 辑集中在这个类的compile()和compile2(