编译与运行

> 在编译器实现中,也有非常明显的层次之分。这些层次可以完全按照编译原理理论来划分。包括:
 1.词法分析:将文本代码拆分为一个一个合法的单词
 2.语法分析:基于 词法分析 得到的单词流构建语法树
 3.语义分析:基于 语法分析 得到的语法树进行语义上的检查等
 4.生成器:基于 语义分析 结果(可能依然是语法树)生成中间代码
 5.编译器:基于 生成器 得到的中间代码生成目标机器上的机器代码
 6.链接器:基于 编译器 生成的目标代码链接成最终可执行程序.

--  反射属于动态编译。编译方式说明: 
 1. 静态编译:在编译时确定类型 & 绑定对象。如常见的使用new关键字创建对象 ;
 2. 动态编译:运行时确定类型 & 绑定对象。动态编译体现了Java的灵活性、多态特性 & 降低类之间的藕合性。

 

java文件编译为字节码文件。栈上的指令。

编译指令mov add等

 

 

你可能感兴趣的:(编译(器)和运行(期))