加载 -> 连接(验证 -> 准备 -> 解析) -> 初始化
- 加载: 将.class文件load到内存中
- 连接:
- 验证: 验证 .class 文件是否符合jvm虚拟机规范,cafebabe 字样, 有没有被篡改
- 准备: 类变量(静态变量) 分配内存,如 static int a = 1; 这个时候给静态变量分配内存,这个时候a还是 int的初始值0
- 解析: 符号引用替换成直接引用
- 初始化: 给类变量赋值 这个时候静态变量a的值才是1、执行静态构造函数、静态代码块
加载 -> 连接(验证 -> 准备 -> 解析) -> 初始化
本文来自博客园,作者:mushishi,转载请注明原文链接:https://www.cnblogs.com/mushishi/p/14540745.html