当前位置:首页 > 分类 > JAVA虚拟机 > Java new一个对象的过程

Java new一个对象的过程

1,首先到常量池中找类的带路径全名,然后检查对应的字节码是否已执行类加载过程,如果没有先执行类加载过程(class.forname())。

2,类加载过程完成后,虚拟机会为对象分配内存。分配内存有两种方式,根据使用的垃圾收集器的不同使用不同的分配机制。内存分配方式

3,设置对象头信息,如所属类,元数据信息,哈希码,gc分代年龄,偏向锁等等。

4,调用对象的init()方法,根据传入的属性值给对象属性赋值。

5,在线程栈中新建对象引用,并指向堆中刚刚新建的对象实例。