目录
Java 类加载机制是 Java 虚拟机 (JVM) 动态加载类、验证类、解析类以及初始化类的过程。Java 通过这种结构化的类加载方式实现了高效的代码组织和模块化。
这篇文章分以下部分介绍 Java 类加载机制以及配套的代码示例:
1. 什么是 Java 类加载机制?
Java 中的类是在程序运行时由类加载器(ClassLoader)动态加载的,类加载器负责根据全限定类名,找到对应的 .class 文件并加载到 JVM 内存中。JVM 提供了一套严格的类加载机制,保证类的加载行为是安全且高效的。
2. 类的生命周期
Java 类的生命周期包括以下几个阶段:
-
加载(Loading)
- 类加载器找到
.class文件字节码,读取字节流,将其转换为Class对象加载到方法区。 - 每个类只会加载一次。
- 类加载器找到
-
连接(Linking)
- 包含 3 个子阶段:
- 验证(Verification):确保字节码文件符合 JVM 规范,安全且合法。
- 准备(Preparation):为类的静态变量分配内存,并赋默认值。
- 解析(Resolution):将类的符号引用转换为直接引用(比如将接口方法引用解析到具体的实现上)。
- 包含 3 个子阶段:
-
初始化(Initialization)
- 静态变量初始化,静态代码块执行。
-
使用(Usage)
- 类加载并初始化后,可以正常被程序使用。
-
卸载(Unloading)
- 当某个类不再被使用且没有强引用时,垃圾回收器会卸载类并释放内存。
3. Java 类加载器(ClassLoader)
ClassLoader 的分类
在 JVM 中,类加载器分为以下几种类型:
-
启动类加载器(Bootstrap ClassLoader)
- 又叫根加载器,负责加载核心类库(
rt.jar),如java.lang.*包、java.util.*等。 - 属于 JVM 的一部分,用本地代码实现。
- 又叫根加载器,负责加载核心类库(
-
扩展类加载器(Extension ClassLoader)


7万+

被折叠的 条评论
为什么被折叠?



