java 日记--java类的加载机制

1.类的加载时机

           类从被加载到虚拟机内存开始,到卸载出内存为止,他的整个生命周期包括:加载(Loading),验证(verification),准备(Preparation),解析(Resolution),初始化(Initialization),使用(Using),和卸载(Unloading)7个阶段,其中验证,准备,解析3个部分统称为链接,这七个阶段的顺序如图:


注意:加载,验证,准备,初始化和卸载这5个阶段的顺序是固定的,类加载过程必须按照这种顺序进行执行。但是解析阶段不一定:它在某些情况下可以再初始化后在开始,这是为了支持java语言的运行时绑定(也称作为动态绑定或者晚期绑定)。

2.类的加载过程

    1.加载

       在加载阶段,虚拟机需要完成3件事情:

            1.通过一个类的全限定名来获取定义此类的二进制字节流。

            2.将这个字节流所代表的 静态存储结构转化为方法区的运行时数据结构。

            3.在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 虚拟机把描述类的数据从Class文件加载到内存, 并对数据进行校验、转换解析和初始化, 最终形成可以被虚拟机直接使...
    好好学习Sun阅读 1,268评论 0 3
  • 代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,确实编译语言发展的一大步。 虚拟机把描述类的数据从...
    胡二囧阅读 990评论 0 0
  • 什么是虚拟机的类加载机制?虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析以及初始化,最...
    EakonZhao阅读 2,376评论 6 22
  • 恢复正常了,我们都挺好的,起码暂时看起来是这样。不过你和你弟就有点尴尬了,你不喜欢我弟,确实是我弟不争气,不会做...
    forYouForUs阅读 113评论 0 0