Java对象的创建,new一个对象的过程

Java创建对象的过程总体上可分为四步:

Java虚拟机遇到字节码new指令时
①先看看这条指令对应的参数能否在常量池中定位到类的符号引用
②若没有,则执行类加载的过程(加载,验证,解析,初始化)
②若有,则为对象分配内存(防止并发情况下线程不安全的问题,采用CAS分配和TLAB方法)
③接下来设置对象头(此对象时哪个类的实例,对象的哈希码,GC分代年龄等)
④调用构造函数,初始化对象


Java对象的创建,new一个对象的过程

参看:
《深入理解Java虚拟机,第三版》周志明著