Java虚拟机 Class文件 结构

CA FE BA BE 文件后缀的标识

class文件

Java虚拟机 Class文件 结构

Java虚拟机 Class文件 结构

类似于基本类型和应用类型的区别

Java虚拟机 Class文件 结构

Java虚拟机 Class文件 结构

 

魔数就是CAFEBABE

Java虚拟机 Class文件 结构

Java被编译器 编译成class字节码文件,虚拟机执行class文件

魔数

虚拟机不是通过扩展名识别可执行文件,而是通过魔数。

比如把普通文件改成class文件,java 执行的时候报错

Java虚拟机 Class文件 结构

 

魔数之后4个字节码是jdk版本,前2个字节次版本号,后两个字节主版本号

Java虚拟机 Class文件 结构

常量池

 

Java虚拟机 Class文件 结构

根据字节码可以查看常量池的个数,以及类型。

Java虚拟机 Class文件 结构

Java虚拟机 Class文件 结构

访问标识

类索引

Java虚拟机 Class文件 结构

Java虚拟机 Class文件 结构

 

 

73文件结构-方法表集合.avi

 

74文件结构-属性表集合.avi