Java的类加载(ClassLoader)机制

Java的类加载(ClassLoader)机制_第1张图片
Java的类加载机制

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

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

 Java 中的绑定

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

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

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

准备阶段

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

解析阶段

相当于c++链接阶段

初始化阶段

Java的类加载(ClassLoader)机制_第2张图片
输出结果3,4,2,100,5

你可能感兴趣的:(Java的类加载(ClassLoader)机制)