Java new关键字的对象内存分配原理
一、new操作符
new操作符用来实例化对象并返回该对象引用。
Java中new创建对象分为三步:
- 声明对象引用。
- 实例化对象:Java中实例化对象就是创建一个Java对象,即分配内存并返回指向该内存的引用。
- 初始化对象实例:调用构造函数,为类的实例对象赋值。
Java对象内存布局:
对象头(Object Header):包括了关于堆对象布局、类型、GC状态、同步状态和标识哈希码的基本信息,Java对象和VM内部对象有一个相同的对象头格式。
实例数据(Instance Data):用于存储数据信息,包括:父类信息、对象属性信息。
对齐填充(Padding):为了字节对齐填充的数据,非必须。