查看Java编译中间代码(字节码ByteCode)
Java字节码—ByteCode,在编译后产生,与目标代码无关从而实现了平台的可移植性
我们知道 Java的编译与执行过程 分别经历的过程为:
- 编写 Hello.java 文件
- javac 编译Hello.java文件 生成Hello.class文件
- java Hello 进行执行
我们首先默认已经写好了Hello.java
并且完成了编译
下面对编译后的class文件进行查看
javap -c Hello.class
输出这条语句 进行查看字节码文件
这下的就是所编译生成的字节码文件
由于编译原理中,编译分为 前端+后端
- 前端主要根据源文件(既你所写的Hello.java文件)来进行:
- 词法分析
- 语法分析
- 语义分析
- 中间代码生成(字节码)
- 后端主要根据中间代码进行:
- 优化
- 目标代码生成
由此我们可以看到,Java所能够实现跨平台的特性,是因为Java虚拟机中使用了ByteCode虚拟机代码作为中间代码,在针对 不同的平台,比如Windows,Linux,Unix等,(不同的操作系统平台上会提供不同的系统调用等功能函数,因此实现了跨平台的使用!)
个人理解,多多交流!
—DanielSmith