JVM拾遗(4): Java对象的创建及内存布局
上一节JVM拾遗-3-类装载机制讲了JVM如何将类装载到虚拟机以供后续使用 那么JVM是如何创建类的实例呢?该对象是如何分配内存的?
1. 实例化
1.1 创建对象的方式
Java对象的创建, 有多种方式,最简单就是new XXClass, 还可以通过反射,xx.clone(),反序列化以及黑科技Unsafe.allocateInstance等方法.
new和反射创建对象实例的时候,会初始化实例字段.
如果类没有构造器,会默认添加构造器,并且编译成<init>方法.
默认生成的构造器里,如果父类有无参构造器, 会隐式递归调用父类的构造器.