从原理聊JVM(五):JVM的编译过程和优化手段
原文中文,约3800字,阅读约需9分钟。发表于: 。一、前端编译前端编译就是将Java源码文件编译成Class文件的过程,编译过程分为4步:1 准备初始化插入式注解处理器(Annotation Processing Tool)。2 解析与填充符号表将源代码的字符流转变为标记(Token)集合,构造出抽象语法树(AST)。抽象语法树每个节点都代表着程序代码中的一个语法结构,包含包、类型、修饰符、运算符、接口、返回值、代码注释等内容。编译器的后续行为都...
前端编译将Java源码编译成Class文件,包括准备、解析与填充符号表、注解处理器和分析与字节码生成。运行时编译将代码编译成本地代码,JVM先解释执行再根据热点探测编译热点代码。编译模式有client compiler和server compiler,client compiler包括方法内联、去虚拟化和冗余消除,server compiler包括逃逸分析、标量替换、栈上分配和同步削除。OSR在循环代码体部分执行编译后的机器码。