Class文件结构--ConstantValue属性
作者:
zlcook | 来源:发表于
2017-08-12 18:15 被阅读40次
- ConstantValue属于属性表集合中的一个属性,属性表集合中一共有21个不同属性。
- ConstantValue属性的使用位置:字段表;含义:final关键字定义的常量值。
- ConstantValue属性作用:通知虚拟机自动为静态变量赋值。
int x =123;
static int x = 123;
- 对虚拟机来说上面两种变量赋值的方式和时刻都有所不同。
- 非static类型变量(实例变量)
- static类型变量(类变量)
- 有两种选择:在类构造器<clinit>方法或者使用ConstantValue属性。
- 同时使用final 、static来修饰的变量(常量),并且这个变量的数据类型是基本类型或者String类型,就生成ConstantValue属性来进行初始化。
- 没有final修饰或者并非基本类型及String类型,则选择在<clinit>方法中进行初始化。
本文标题:Class文件结构--ConstantValue属性
本文链接:https://www.haomeiwen.com/subject/wuisattx.html
网友评论