目录
概述
Class文件的格式
概述
Class文件是JVM的输入,Java虚拟机规范中定义了Class文件的结构。Class文件是JVM实现平台无关、技术无关的基础。
1:Class文件是一组以8字节为单位的字节流,各个数据项目按顺序紧凑排列
2:对于占用空间大于8字节的数据项,按照高位在前的方式分割成多个8字节进行存储
class文件就是这些十六进制的字节流。
通过javap输出出来的字节码文件,是经过反编译之后适合人阅读的代码。
3:Class文件格式里面只有两种类型:无符号数、表。
(1)无符号数:基本数据类型,以u1、u2、u4、u8来代表几个字节的无符号数(u4即四个字节)。
(2)表:由多个无符号数和其它表构成的复合数据类型,通常以“info”结尾。
Class文件的格式
1、javap工具生成非正式的“虚拟机汇编语言”,格式如下<index><opcode>[<operand1>[<operand2>...]]<comment>]。
2、<index>是指令操作码在数组中的下标,该数组以字节形式来存储当前方法的Java虚拟机代码,也可以是相对于方法起始处的字节偏移量。
3、<opcode>是指令的助记码、<operand>是操作数、<comment>是行尾的注释。