(七)Java Class文件格式、常量池项目的类型、表的结构

* u1、u2、u4分别代表1字节、2字节、4字节

1.Class文件格式

magic:魔数,值为0xcafe baby,表示这是一个可以被虚拟机接收的class文件。很多文件存储标准都使用魔数进行身份识别,比如gif,jpeg。使用魔数而不是文件后缀名的是因为后缀名可以随意改动,使用魔数比较安全。

major_version:主版本号,52对应JDK1.8

 

 

2.常量池项目类型

 

3.类访问标志

 

4.字段表

 

5.方法表

6.属性表

6.1 Code

6.2 Exception

exception_index_table 是一个指向常量池中CONSTANT_Class_info的引用,表示该异常的类型

6.3 LocalVariableTable

6.4 SourceFile

6.5 ConstantValue

6.6 InnerClasses

6.7 Deprecated & Synthetic

6.8 StackMapTable

6.9 Signature

6.10 BootstrapMethods

上文所有截图均来自《深入理解Java虚拟机》

 

 

 

 

原文地址:https://blog.csdn.net/m0_37701628/article/details/86684589

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章