JVM对象的创建过程
1.Loading
类加载器通过双亲委派机制将类的class文件载入内存
2.Linking
1)Verification:检验载入的class文件是否符合jvm的规范格式
2)Preparation: 为类的静态变量申请内存并赋默认值(注:默认值不是初始值,并且此时对象的内存还未申请)
3)Resolution:解析阶段。将二进制文件中的类、方法、属性等符号引用解析为直接引用(成员属性的变量名或空引用等,如int i;Object o;),将常量池中的各种符号引用解析为指针、偏移量等内存地址的直接引用。
3.Initializing
1)初始化静态成员变量
2)执行静态代码块
4.申请对象内存
5.成员变量赋默认值
6.初始化成员变量
1)成员变量顺序初始化
2)调用构造方法
附言:如有不当之处,还请各位指点