JVM类加载机制和双亲委派
JVM类加载机制与双亲委派模型工作原理
一、JVM类加载机制概述
JVM类加载机制是Java程序运行的核心基础,负责将.class
文件加载到内存,并转化为可执行的类对象。整个过程分为以下三个阶段:
- 加载(Loading)
通过类加载器查找类的二进制数据(如.class
文件或网络资源),生成对应的Class
对象。 - 连接(Linking)
- 验证(Verification):检查字节码是否符合JVM规范,防止恶意代码注入。
- 准备(Preparation):为静态变量分配内存并设置初始值(如
int
类型初始化为0)。 - 解析(Resolution):将符号引用转换为直接引用(例如将类名映射到内存地址)。
- 初始化(Initialization)
执行类构造器<clinit>()
方法,完成静态变量赋值和静态代码块的运行。
二、双亲委派模型的工作原理
双亲委派模型(Parent Delegation Model)是JVM类加载器的核心机制,其核心规则是: