9.虚拟机类加载机制

概述

       虚拟机把描述类的数据从Class文件中加载到内存,并对数据进行校验,转换解析和初始化,最终形成可被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制;

       类型的加载,连接和初始化都是在程序运行时完成的,这种做法虽然能增加性能开销,但运行期动态加载和动态连接是Java的动态扩展的基础;

类加载机制

       解析阶段可以在初始化阶段之后进行,这是为了支持Java的运行时绑定(动态绑定);需要注意的是,上述的七个阶段并不是第一步做完了,再做第二步,并不是这样的;这些阶段通常是互相交叉地混合式进行的,通常是在一个阶段执行的过程中调用,激活另外一个阶段;

       初始化阶段,有且仅有5种情况下会触发,当然,加载,验证,准备需要在此之前开始;

       1.遇到new,getstatic,putstatic或invokestatic这4条字节码指令的时候;

       2.

       3.

       4.

       5.

       这5种场景中的行为称为对一个类进行主动引用;如果引用 类的方式不会触发初始化,称为被动引用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值