Java程序运行的具体过程
1.Java源文件被编译器译成字节码文件
xxx.java 转换成 xxx.class
2.JVM将字节码文件编译成对应操作系统的机器码
xxx.class 转换成只有机器可以识别的二进制码
3.机器码调用相应操作系统的方法
将文件转换成二进制码可以被机器识别后,机器可以调用内部的方法
其中,要区分机器码,字节码,汇编语言三者的区别
机器码
Machine code:
机器语言指令,一种CPU的可读指令,CPU可以直接解读的0–1二进制序列。不同的CPU厂商遵守的机器指令在主体上是一样的,但在个别的地方会有自己特殊的指令。
字节码
ByteCode:
是一种包含执行程序,由一系列OP(操作码) 代码/数据对 组成的二进制文件。字节码是一种中间码,比机器码更抽象,需要直译器转译后才能成为机器码的中间代码,是一种需要解释的虚拟机指令,并且在执行之前要转换为机器代码。
汇编语言
是一种宏语言
是机器的本机语言(机器码)的人类可读形式,最终也会成为机器码。本质上和字节码是同一级别的,汇编语言直白理解就是将机器语言的话翻译成人类可以读懂的形式,从而更加方便的与机器交流。



