JVM创建对象的过程

走远了吗. 提交于 2020-01-07 01:47:36

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

1、类加载检查,当虚拟机遇到一条new指令的时候,首先去检查这个指令的参数能否在常量池定位到这个类的符合引用,并且检查这个类的符号引用是否已经被加载过,【如果没有则进行类的加载】

2、分配内存:其中如果有指针碰撞和空闲列表两张创建方式。

3、初始化零值,不包括对象头的设置。

4、设置对象头,其中包括类的元数据信息,hash值,GC age等信息,其中还会根据当前虚拟机运行状态的不同,标志是否启用偏向锁等。

5、执行init方法,进行值的初始化,方法的加载。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!