JVM之类加载阶段

在这里插入图片描述这个阶段主要完成如下3件事情
通过一个类的全限定名来获取定义此类的二进制字节流将这个字节流代表的静态存储结构转化成方法区的运行时数据结构生成一个此类的Java.lang.Class对象(方法区中),作为方法区这个类的数据的访问入口。这里获取字节流的方式并不局限于zip,还包括诸如网络中获取、运行时生成、其他文件生成、数据库读取等方式。同时相对于类加载过程的其他阶段,相对于一个非数组类的加载阶段是开发者可控性最强的,因为加载阶段既可以使用系统提供的加载器,也可以用户自定义类加载器来完成类的加载。数组类的加载情况有所不同,虽然数组类是JVM直接创建的,但是数组的组件,最终还是要依靠类加载器去加载,一个数组类创建主要有如下几点:如果数组的组件类型为引用类型,数组将会在组件的类加载器上被标识。如果组件类型不是引用类型,JVM会将数据将会与引导类加载器关联。数组的可见性与它的组件类型保持一致,如果组件的类型不是引用类型,则数据可见性默认为public。加载阶段完成后,类的二进制字节流将按照JVM所需的格式存储在方法区中,同时在内存中实例化一个java.lang.Class的实例对象,作为程序访问方法区中这些类数据的外部接口。相对于HotSpot,这个实例对象比较特殊,虽然是一个对象,但并没有放置在堆中,而是放置在方法区中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值