类加载的过程
类从加载到虚拟机中开始,直到卸载为止,它的整个生命周期包括了:加载、验证、准备、解析、初始化、使用和卸载这7个阶段。其中,验证、准备和解析这三个部分统称为连接(linking)。
加载过程可以分为以下几个步骤:
-
加载:通过类的全限定名获取字节码文件,并将其转换为方法区内的运行时数据结构。
-
验证:对字节码进行校验,确保符合 Java 虚拟机规范。
-
准备:为类的静态变量分配内存,并设置默认初始值。
-
解析:将符号引用转换为直接引用,即将类、方法、字段等解析为具体的内存地址。
-
初始化:执行类的初始化代码,包括静态变量赋值和静态代码块的执行。