对象的实例化

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

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

1、判断对象的类是否加载,链接,初始化
对象的实例化、内存布局与访问定位


2、为对象分配内存:
对象的实例化、内存布局与访问定位
如果内存规整:指针碰撞
对象的实例化、内存布局与访问定位
对象的实例化、内存布局与访问定位

如果不规整:空闲列表
对象的实例化、内存布局与访问定位
说明
对象的实例化、内存布局与访问定位


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


6、执行init方法进行初始化
对象的实例化、内存布局与访问定位

对象的内存布局

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

对象的访问定位

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

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

1、句柄访问:

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

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

2、直接访问(Hotspot默认)
对象的实例化、内存布局与访问定位

相关文章:

  • 2021-09-19
  • 2021-12-29
  • 2022-01-15
  • 2021-08-17
  • 2021-11-21
  • 2021-06-20
  • 2021-04-18
  • 2021-09-05
猜你喜欢
  • 2021-08-18
  • 2022-12-23
  • 2021-10-31
  • 2022-03-05
  • 2021-04-19
  • 2021-10-25
  • 2022-01-07
相关资源
相似解决方案