Java虚拟机之字节码专题---常量池类型汇总

常量池通用格式

cp_info {
    u1 tag;
    u1 info[];
}

tag 表示常量项类型,整理如下:

常量类型 描述
CONSTANT_Class_info 7 表示类或接口
CONSTANT_Fieldref_info 9 字段信息表
CONSTANT_Methodref_info 10 方法
CONSTANT_InterfaceMethodref_info 11 接口方法
CONSTANT_String_info 8 java.lang.String 类型的常量对象
CONSTANT_Integer_info 3 整型字面量
CONSTANT_Float_info 4 浮点型字面量
CONSTANT_Long_info 5 长整型字面量
CONSTANT_Double_info 6 双精度型字面量
CONSTANT_NameAndType_info 12 名称和类型表
CONSTANT_Utf8_info 1 utf-8 编码的字符串
CONSTANT_MethodHandle_info 15 方法句柄表
CONSTANT_MethodType_info 16 方法类型表
CONSTANT_InvokeDynamic_info 18 动态方法调用点

对应具体类型分析如下:
1、CONSTANT_Class_info

功能: 表示类或接口
格式:

CONSTANT_Class_info {
    u1 tag;
    u2 name_index;
}
其中:tag 值为7,表示一个 CONSTANT_Class_info 类型
name_index, 必须是对常量池的一个有效索引。 常量池在该索引处的项必须是CONSTANT_Utf8_info 结构, 代表一个有效的类或接口二进制名称的内部形式。

2、CONSTANT_Fieldref_info

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值