Constant pool tags
Constant Type | Value |
| 7 |
| 9 |
| 10 |
| 11 |
| 8 |
| 3 |
| 4 |
| 5 |
| 6 |
| 12 |
| 1 |
| 15 |
| 16 |
| 18 |
CONSTANT_Class_info
The tag item has the value CONSTANT_Class (7)
CONSTANT_Class_info {
u1 tag;
u2 name_index;
}The CONSTANT_Fieldref_info, CONSTANT_Methodref_info, and CONSTANT_InterfaceMethodref_info Structures
tag
The tag item of a CONSTANT_Fieldref_info structure has the value CONSTANT_Fieldref (9).
The tag item of a CONSTANT_Methodref_info structure has the value CONSTANT_Methodref (10).
The tag item of a CONSTANT_InterfaceMethodref_info structure has the value CONSTANT_InterfaceMethodref (11).
CONSTANT_Fieldref_info {
u1 tag;
u2 class_index;
u2 name_and_type_index;
}
CONSTANT_Methodref_info {
u1 tag;
u2 class_index;
u2 name_and_type_index;
}
CONSTANT_InterfaceMethodref_info {
u1 tag;
u2 class_index;
u2 name_and_type_index;
}The CONSTANT_String_info Structure
The tag item of the CONSTANT_String_info structure has the value CONSTANT_String (8).
CONSTANT_String_info {
u1 tag;
u2 string_index;
}The CONSTANT_Integer_info and CONSTANT_Float_info Structures
The tag item of the CONSTANT_Integer_info structure has the value CONSTANT_Integer (3).
The tag item of the CONSTANT_Float_info structure has the value CONSTANT_Float (4).
CONSTANT_Integer_info {
u1 tag;
u4 bytes;
}
CONSTANT_Float_info {
u1 tag;
u4 bytes;
}The CONSTANT_Long_info and CONSTANT_Double_info Structures
The tag item of the CONSTANT_Long_info structure has the value CONSTANT_Long (5).
The tag item of the CONSTANT_Double_info structure has the value CONSTANT_Double (6).
CONSTANT_Long_info {
u1 tag;
u4 high_bytes;
u4 low_bytes;
}
CONSTANT_Double_info {
u1 tag;
u4 high_bytes;
u4 low_bytes;
}The CONSTANT_NameAndType_info Structure
The tag item of the CONSTANT_NameAndType_info structure has the value CONSTANT_NameAndType (12).
CONSTANT_NameAndType_info {
u1 tag;
u2 name_index;
u2 descriptor_index;
}The CONSTANT_Utf8_info Structure
The tag item of the CONSTANT_Utf8_info structure has the value CONSTANT_Utf8 (1).
CONSTANT_Utf8_info {
u1 tag;
u2 length;
u1 bytes[length];
} The CONSTANT_MethodHandle_info Structure
The tag item of the CONSTANT_MethodHandle_info structure has the value CONSTANT_MethodHandle (15).
CONSTANT_MethodHandle_info {
u1 tag;
u1 reference_kind;
u2 reference_index;
}The CONSTANT_MethodType_info Structure
The tag item of the CONSTANT_MethodType_info structure has the value CONSTANT_MethodType (16).
CONSTANT_MethodType_info {
u1 tag;
u2 descriptor_index;
}The CONSTANT_InvokeDynamic_info Structure
The tag item of the CONSTANT_InvokeDynamic_info structure has the value CONSTANT_InvokeDynamic (18).
CONSTANT_InvokeDynamic_info {
u1 tag;
u2 bootstrap_method_attr_index;
u2 name_and_type_index;
}来源
https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.4
















