编译原理这本书中的编译器的步骤有以下7大步骤:
1、词法分析
2、语法分析
3、语义分析
4、中间代码生成
5、代码优化
6、目标代码生成
7、目标代码优化
具体每个步骤是啥意思,请自行脑补编译原理,可以说对于一门成熟的编程语言来说每一个步骤都是不容易的,记得大学里学习这门课的时候,实现了简单的几个符号的编译输出已经难倒了一大片。
那我们JAVA语言的编译和执行过程是啥样子的呢,根据个人理解如下:
1、上面7大步骤,即将我们的.java文件的源码编译成.class文件的字节码,是不是第一步已经够复杂的了。可以把我们的.java看成一种源程序,.class看成是目标程序,只是这个目标程序不能直接像可执行程序那样在我们的机器上运行。
2、JVM解释执行我们的字节码文件.class。
这就是为啥我们尊称JAVA是一门编译型,解释型语言了,两者并存的关系。