字节码文件是什么?
- 源代码经过编译器编译之后会生成一个或多个字节码文件,字节码是一种二进制的类文件,内容是 JVM 指令,而不像 C、C++ 经由编译器直接生成机器码。
什么是字节码指令(byte code)?
- Java 虚拟机的指令由一个字节长度的、代表着某种特定操作含义的操作码(opcode) 以及跟随其后的 0 个至多个 代表此操作所需参数的操作数(operand) 所构成。虚拟机中许多指令并不包含操作数,只有一个操作码。
- 比如: 操作码(操作数)
如何解读供虚拟机解释执行的二进制字节码?
- Notepad++ 中安装 HEX-Editor 插件,或者使用 Binary Viewer
- javap -v xxx.class > xxx.txt
- 使用 IDEA 插件:jclasslib 或者 jclasslib bytecode viewer 客户端工具。(可视化更好)