Java的类加载(ClassLoader)机制

Java的类加载机制

在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的.

而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持 Java 语言的运行时绑定(也成为动态绑定或晚期绑定)。另外注意这里的几个阶段是按顺序开始,而不是按顺序进行或完成,因为这些阶段通常都是互相交叉地混合进行的,通常在一个阶段执行的过程中调用或激活另一个阶段。

 Java 中的绑定

绑定指的是把一个方法的调用与方法所在的类(方法主体)关联起来

静态绑定:即前期绑定。在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。针对 Java,简单的可以理解为程序编译期的绑定。Java 当中的方法只有 final,static,private 和构造方法是前期绑定的。

动态绑定:即晚期绑定,也叫运行时绑定。在运行时根据具体对象的类型进行绑定。在 Java 中,几乎所有的方法都是后期绑定的。

准备阶段

仅对static变量赋值为0.(final static 除外)

解析阶段

相当于c++链接阶段

初始化阶段

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,359评论 19 139
  • Java只有当需要使用类的时候,才会将类载入。java类的载入,是通过类加载器进行的。 在命令模式下,执行java...
    六尺帐篷阅读 4,719评论 1 9
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,917评论 18 399
  • 到了杭州东站之后,我在出口的地方等我朋友,朋友是在杭州念书但是也是坐地铁过来的,结果我们跑到外面想打车。竟然被告知...
    燚月仁心阅读 1,644评论 0 0
  • 身边的许多朋友总会抱怨时间不够,我不明白一天24小时,除去八小时的睡眠时间,还有16个小时,再除去你上班时间八个小...
    杏格乐阅读 4,181评论 0 1