简述类加载器子系统

简述类加载器子系统

  • 图解:
    简述类加载器子系统

  • 作用:

    负责从文件系统或者网络中加载Class文件,Class文件在文件开头有特定的文件标识

    ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定

    加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)

  • 过程:加载->链接->初始化

    • 加载loading:

      过程:引导类加载器->扩展类加载器->系统类加载器

    • 链接linking

      过程:验证->准备->解析

      验证 正确性,文件格式验证,元数据验证,字节码验证,符号引用验证

      准备 分配默认初始值,即零值

      解析 将常量池内的符号引用转换为直接引用的过程。主要针对类或接口、字段、类方法、接口方法、方法类型

    • 初始化:初始化Initialization

      初始化阶段就是执行 类构造器方法()的过程