首页 > 代码库 > 深入理解java虚拟机-第十章-早期(编译期)优化
深入理解java虚拟机-第十章-早期(编译期)优化
第10章 早期(编译期)优化
javac编译过程:
1、解析与填充符号表过程
词法、语法分析 将源代码的字条流转变为标记(Token)集合。如“int a = b + 2”这名代码包含了6个标记,分别是int a = b + 2
填充符号表
2、注解处理器
3、语义分析与字节码生成
标注检查 包括诸如变量使用前是否已被声明、变量与赋值之 间的数据类型是否能够匹配,还有一个重要的动作称为常量折叠
数据及控制流分析 对程序上下文逻辑更进一步的验证,它可以检查出诸如程序局部变量在使用前是否有赋值、方法的每条路径是否都有返回值、是否所有的受查异常都被正确处理了第问题。
解语法糖 泛型、变长参数、自动装箱/拆箱等
java中的泛型只在程序源码中存在,在编译后的字节码中就已经替换为原来的原生类型了,并且在相应的地方插入强制类型转换代码。
字节码生成
深入理解java虚拟机-第十章-早期(编译期)优化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。