类加载主要分为以下五个阶段
● 加载
● 连接
● 初始化
● 使用
● 卸载
加载:
加载是一个读取class文件,通过【类加载器】将class文件装载到jvm中的方法区内,并在JVM堆中生成一个便于用户调用的java.lang.Class类型的对象的过程。
连接:
- 验证:验证Class类是否符合 Java 规范和 JVM 规范
- 准备:为类的静态变量在方法区分配内存,初始化为【系统】的初始值
- 解析:将【常量池】中的符号引用替换为直接引用
初始化:
对class的成员变量、静态变量、静态代码块的赋值,如果有【实例化对象】,则会调用方法对实例变量进行初始化,并执行对应的构造方法内的代码。