对象的创建过程
1.加载对象->2.在堆中分配对象存储空间->3.给对象内的成员变量赋默认值->4.调用对象构造函数->5.给对象内的成员变量赋初始值->6.执行构造函数内的代码(super.init())调用父类构造函数。进过这些步骤对象创建完成。
对象的组成
参数针对于64位机器
普通对象:
名称 | 长度(字节) |
---|---|
markwork(对象头) | 8 |
classPoint(类指针) | 默认4(压缩后),开启-XX:+UseCompressedOops 为8 |
instance(数据实例) | 基本数据类型按占用字节。引用类型默认为4(压缩后),开启-XX:+UseCompressedOops 为8 |
padding(对齐) | 8的倍数 |
数组对象:
名称 | 长度(字节) |
---|---|
markwork(对象头) | 8 |
clas |