JVM将类加载过程分为三个步骤:装载(load),链接(Link)和初始化(Initialize)。
1.装载:查找并加载类的二进制数据;
2.链接:
1)验证:确保被加载类的正确性;(安全考虑)
2)准备:为类的静态变量分配内存,并将其初始化为默认值;(比如private static int x = 10,给x分配内存,因为static, a等于int类型的默认初始值0)
3)解析:把类中的符号引用转换为直接引用;
3.初始化:为类的静态变量赋予正确的初始值(把a真正的值10赋给a,此时a=10)