JAVA class 文件

CLASS文件中基本类型

U1 一个字节
U2 2个字节
U3 3个字节
U4 4个字节

 

ClassFile 的格式

26-01

1. magic 区分java class 文件还是非java class文件

2. minor_version和major_version 定义class文件的主/次版本号

3. constant_pool_count 和 contant_pool(存储注入文字字符串,final变量值,类名和方法名的常量),而在contant_Pool之前,是入口的列表中计数 contant_pool_count.

26-04

4. access_flags. 类或接口的几段信息。用了那种修饰符定义 类或者接口(abstact,public,final…..)

26-02

5. this_class 常量池的index(CONSTANT_CLASS)

26-03

6. super_class (index CONSTANT_CLASS_INFO)

7.interfaces_count 和interfaces

8. fields_count 和fields

9. methods 和 methods_count

从超类定义的方法不会被计入

10. attributes_count和attributes

 

特殊字符串

1. 全限定名 :java/lang/Object  java/util/Hashtable

2. 简单名称:String (toString) 字段 java.io.PrintStream out 常量池入口有一个形式入“out”的字段名

3. 描述符号 字段的描述符给出的字段的类型,方法描述符给出的方法的返回值和方法参数的数量、类型以及顺序

常量池

你可能感兴趣的:(JAVA class 文件)