cp_info constant_pool[constant_pool_count-1];
是一种表结构,cp_info
表示的是常量池对象。cp_info
数据结构:
cp_info {
u1 tag;
u1 info[];
}
u1 tag;
表示的是常量池中的存储类型,常量池中的tag
说明:
常量池类型 | Tag | 章节 |
---|---|---|
CONSTANT_Utf8 | 1 | §4.4.7 |
CONSTANT_Integer | 3 | §4.4.4 |
CONSTANT_Float | 4 | §4.4.4 |
CONSTANT_Long | 5 | §4.4.5 |
CONSTANT_Double | 6 | §4.4.5 |
CONSTANT_Class | 7 | §4.4.1 |
CONSTANT_String | 8 | §4.4.3 |
CONSTANT_Fieldref | 9 | §4.4.2 |
CONSTANT_Methodref | 10 | §4.4.2 |
CONSTANT_InterfaceMethodref | 11 | §4.4.2 |
CONSTANT_NameAndType | 12 | §4.4.6 |
CONSTANT_MethodHandle | 15 | §4.4.8 |
CONSTANT_MethodType | 16 | §4.4.9 |
CONSTANT_Dynamic | 17 | §4.4.10 |
CONSTANT_InvokeDynamic | 18 | §4.4.10 |
CONSTANT_Module | 19 | §4.4.11 |
---|---|---|
CONSTANT_Package | 20 | §4.4.12 |
每一种tag
都对应了不同的数据结构,上述表格中标记了不同类型的tag值以及对应的JVM规范章节。