首页 > 代码库 > 类加载机制

类加载机制

  1. 当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三个步骤来对该类进行初始化。

  2. 类加载指的是将类的class文件读入到内存,并为之创建一个java.lang.Class对象,也就是说,当程序中使用任何类时,系统都会为之创建一个java.lang.Class对象。

  3. 通过使用不同的类加载器,可以从不同来源加载类的二进制数据,通常有以下几种来源

        从本地文件系统加载class文件

        从JAR包加载class文件

        用过网络加载class文件

        把一个Java源文件动态编译,并执行加载

    4、当类被夹在之后,系统会为之生成一个对应的class对象,接着进入连接阶段。连接负责把类的二进制数据合并到JRE中。

        验证:检验被加载的类是否有正确的内部结构,并和其他类协调一致。

        准备:为类的静态Field分配内存,并进行出初始化。

        解析:将类的二进制数据中的符号引用替换成直接引用。

    5、类的初始化

    (1)、假设这个类还没有被加载和连接,则会加载并连接该类。

    (2)、假如该类的直接父类还没有被初始化,则先初始化直接父类,所以JVM最先初始化的总是java.lang.Object类。

    (3)、假如类中有初始化语句,则系统依次执行这些初始化语句。



、