对象的实例化、内存布局与访问定位


对象的实例化、内存布局与访问定位

对象的实例化

在这里插入图片描述

对于上图中“创建对象的步骤”详细的解释

1、判断对象的类是否加载,链接,初始化
在这里插入图片描述


2、为对象分配内存:
在这里插入图片描述
如果内存规整:指针碰撞
在这里插入图片描述
在这里插入图片描述

如果不规整:空闲列表
在这里插入图片描述
说明
在这里插入图片描述


5、设置对象的对象头
在这里插入图片描述


6、执行init方法进行初始化
在这里插入图片描述

对象的内存布局

在这里插入图片描述
在这里插入图片描述

对象的访问定位

在这里插入图片描述

JVM是如何通过栈帧中的对象引用访问到其内部的对象实例的

1、句柄访问:

优点
在这里插入图片描述

在这里插入图片描述

2、直接访问(Hotspot默认)
在这里插入图片描述


文章作者: fFee-ops
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fFee-ops !
评论
  目录