1、加载
将字节码文件加载到内存(1.8是元空间)、在内存中生产一个class运行时数据结构
2、链接
2.1 验证 校验字节码文件正确性
2.2 准备 为静态变量分配内存空间、并附初始值0(一般是0),这里不包含final修饰的静态变量,常量在编译时已经附初始值、分配空间了。
2.3 解析 将符号引用转换成直接引用。
3、初始化 执行clinit方法(有静态变量、静态代码块才会有),给静态变量附初始值。
1、加载
将字节码文件加载到内存(1.8是元空间)、在内存中生产一个class运行时数据结构
2、链接
2.1 验证 校验字节码文件正确性
2.2 准备 为静态变量分配内存空间、并附初始值0(一般是0),这里不包含final修饰的静态变量,常量在编译时已经附初始值、分配空间了。
2.3 解析 将符号引用转换成直接引用。
3、初始化 执行clinit方法(有静态变量、静态代码块才会有),给静态变量附初始值。