new一个对象的时候JVM都做了哪些事情

来源:互联网 发布:数据库设计教程 pdf 编辑:程序博客网 时间:2024/05/16 15:58
1.之前没有进行类加载
    1.类加载,同时初始化类中静态的属性(赋默认值)
    2.执行静态代码块
    3.分配内存空间,同时初始化非静态的属性(赋默认值)
    4.调用父类构造器
    5.父类构造器执行完后,如果自己声明属性的同时有显示的赋值,那么进行显示赋值把默认值覆盖?
    6.执行匿名代码块
    7.执行构造器
    8.返回内存地址

2.之前已经进行了类加载
    1.分配内存空间,同时初始化非静态的属性(赋默认值)
    2.调用父类构造器
    3.父类构造器执行完后,如果自己声明属性的同时有显示的赋值,那么进行显示赋值把默认值覆盖?
    4.执行匿名代码块
    5.执行构造器
    6.返回内存地址
原创粉丝点击