Java -- Java Class Format
CLASS FORMAT
1 | ClassFile { |
1 | cp_info { |
1 | field_info { |
1 | method_info { |
1 | attribute_info { |
Constant Type
Type | Tag |
---|---|
CONSTANT_Utf8 | 1 |
CONSTANT_Integer | 3 |
CONSTANT_Float | 4 |
CONSTANT_Long | 5 |
CONSTANT_Double | 6 |
CONSTANT_Class | 7 |
CONSTANT_String | 8 |
CONSTANT_Fieldref | 9 |
CONSTANT_Methodref | 10 |
CONSTANT_InterfaceMethodref | 11 |
CONSTANT_NameAndType | 12 |
CONSTANT_MethodHandle | 15 |
CONSTANT_MethodType | 16 |
CONSTANT_InvokeDynamic | 18 |
Constant Type Info
1 | CONSTANT_Utf8_info { |
1 | CONSTANT_Integer_info { |
1 | CONSTANT_Float_info { |
1 | CONSTANT_Long_info { |
1 | CONSTANT_Double_info { |
1 | CONSTANT_Class_info { |
1 | CONSTANT_String_info { |
1 | CONSTANT_Fieldref_info { |
1 | CONSTANT_Methodref_info { |
1 | CONSTANT_InterfaceMethodref_info { |
1 | CONSTANT_NameAndType_info { |
1 | CONSTANT_InvokeDynamic_info { |
ACCESS_FLAGS
Name | Value | Desc | - |
---|---|---|---|
ACC_PUBLIC | 0x0001 | public类型 | 所有类型 |
ACC_FINAL | 0x0010 | final类型 | 类 |
ACC_SUPER | 0x0020 | 使用新的invokespecial语义 | 类和接口 |
ACC_INTERFACE | 0x0200 | 接口类型 | 接口 |
ACC_ABSTRACT | 0x0400 | 抽象类型 | 类和接口 |
ACC_SYNTHETIC | 0x1000 | 该类不由用户代码生成 | 所有类型 |
ACC_ANNOTATION | 0x2000 | 注解类型 | 注解 |
ACC_ENUM | 0x4000 | 枚举类型 | 枚举 |