java源代码编译机制
来源:互联网 发布:redmine软件 编辑:程序博客网 时间:2024/05/18 13:26
JVM规范中定义了class文件的格式 但是没有定义源代码如何编译为class文件,所以各大厂商在实现jdk时符合规范将其编译为class文件,下面以SUN JDK来做分析。
基本流程如下:
{java源文件}------->{分析和注入到符号表(Parse and Enter)}------>{注释处理(Annotation Processing)}--------->{语义分析和生成class文件(Analyse and Generate)}-->{0101}
下面对各个流程进行说明:
1、分析和注入到符号表
分析过程主要做的是,词法和语法分析。
注入过程主要是将符号表输入到符号表。,通常包括类得超类和接口、根据需要添加默认的构造器,将类中出现的符号输入到自己的符号表中等。
2、注视处理
主要处理用户自己的注释annotation,可能带来的好处就是基于annotation来生成附加的代码或进行一些特殊的处理,从而省去一些代码的编写,例如get和set方法的编写,通过注释 ,编译之后会自动生成。
3语义分析和生成class文件
主要是对名字和表达式等元素与变量、方法、类型等联系到一起,检查变量使用前是否已声明、检查泛型、类型匹配,检查所有的语句都可到达等,以及需要checked异常都捕捉到或者被抛出,检查有返回值得方法确定有返回值,检查变量不重复赋值,取出无用的代码 如:if(false){//....},还有就是泛型转换为普通的java类型,还有自动拆箱和装箱转换等。最后开始生成class文件。
- java源代码编译机制
- java的编译机制
- JAVA源码编译机制
- 调用Java编译器API编译Java源代码
- JAVA win7下cmd编译Java源代码
- java源码的编译机制
- 如何用Visual Studio编译Java源代码
- javac 批量编译java源代码文件
- 调用eclipse的JDT编译java源代码
- dos命令编译,运行java源代码文件
- Java虚拟机(HOTSPOT)源代码编译步骤
- 利用编译时注解生成Java源代码
- Java动态编译源代码并加载执行
- Java虚拟机(HOTSPOT)源代码编译步骤
- 利用编译时注解生成Java源代码
- Java源码编译机制、类加载机制、类执行机制
- 编译源代码
- 【JAVA】Java编程思想第四版源代码编译问题
- Android 查看本机外网IP
- C#生成随机数的三种方法
- 标准C++强制类型转换(C++风格的类型转换)
- 内部概念高度统一的LUA
- Android模拟器中实现音、视频文件的断点播放
- java源代码编译机制
- MaskedTextBox 的mask属性
- http post xml
- LDD3学习笔记(4):字符驱动2
- 初识maven
- 逐步设置vim C/C++语法高亮显示和自动缩进
- 理解DOM树
- oracle的递归
- C++类名demangle