对象的创建方式
对象的创建步骤
以上可以概括为:
- 加载类元信息
- 为对象分配内存
- 处理并发问题
- 属性默认初始化(零值初始化)
- 设置对象头信息
- 属性显示初始化、代码块初始化、构造器初始化
对象的内存布局
图示说明内存布局:
例:有如下代码
对应的内存布局如下:
对象的访问定位
句柄访问:
好处:
reference中存储稳定的句柄地址,对象被移动(垃圾收集时移动对象很普遍)时只会改变句柄中实例数据指针即可,reference本身不需要被修改。
old-cha 2020-07-09 22:33 原文
以上可以概括为:
图示说明内存布局:
例:有如下代码
对应的内存布局如下:
好处:
reference中存储稳定的句柄地址,对象被移动(垃圾收集时移动对象很普遍)时只会改变句柄中实例数据指针即可,reference本身不需要被修改。