1.Loading
加载进来
2.Linking
- verification
验证class文件是否符合jvm规范,比如魔术是否以0xcafebaby开头
- preperation
将静态成员变量赋默认值
- resolution
解析方法,变量,符号引用为直接引用,
3.Initializing
初始化:将静态成员变化赋初始值,执行静态代码块
4.申请对象内存
为new出来的对象申请内存
5.成员变量赋默认值
6.执行构造方法
(1.成员变量赋初始值
2.执行构造函数init(先执行父类构造方法suiper()))