再次梳理类加载机制

1.类加载机制过程:
  1. 加载class文件,由类加载器加载,类加载器机制采用双亲委派机制,由自定义类加载器抛给系统类加载器,加载失败在由自己加载。
  2. 连接阶段:验证–准备–解析
    验证:简单来说目的是验证class字节码的安全性。
    准备:此时,静态常量在这个时候字符化表示,开始有一个默认值。
    解析:静态常量赋值操作。
    在准备解析:静态成员变量进行符号解析,有默认值,但是没有赋值初始化操作。
  3. 初始化:static{} 静态成员变量进行赋值操作。赋值按顺序进行。

值得一提的是,当类没有进行初始化的时候,static{}和静态成员变量的赋值操作是没有进行的。也就是类加载没有进行到初始化阶段。
注意:调用静态成员常量是不触发初始化操作的。

下例子:

  • 触发初始化的操作:
    new 操作
    直接调用类
    反射操作

详细介绍在我的另一篇文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值