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