本文介绍的对象创建过程仅限于普通Java对象,不包括数组和Class对象. 1.类加载检查 虚拟机遇到一条new指令时,首先去检查该指令的参数能否在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载.解析和初始化过. 2.为新生对象分配内存 对象所需内存的大小在类加载完成后便可以完全确定,为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来.划分的方法主要有两种: a.指针碰撞 如果java堆中内存是绝对规整的,所有用过的内存都放在一边,未使用的内存放在另一…