类加载的过程

类从加载到虚拟机中开始,直到卸载为止,它的整个生命周期包括了:加载、验证、准备、解析、初始化、使用和卸载这7个阶段。其中,验证、准备和解析这三个部分统称为连接(linking)。

​加载过程可以分为以下几个步骤:

  1. 加载:通过类的全限定名获取字节码文件,并将其转换为方法区内的运行时数据结构。

  2. 验证:对字节码进行校验,确保符合 Java 虚拟机规范。

  3. 准备:为类的静态变量分配内存,并设置默认初始值。

  4. 解析:将符号引用转换为直接引用,即将类、方法、字段等解析为具体的内存地址。

  5. 初始化:执行类的初始化代码,包括静态变量赋值和静态代码块的执行。