深入理解Java虚拟机(第三版)-02-HotSpot虚拟机对象探秘(2)

本文详细探讨了HotSpot虚拟机中对象的内存布局,包括对象头、实例数据和对齐填充三部分。对象头包含运行时数据和类型指针,实例数据存储字段信息,对齐填充确保对象大小为8字节整数倍。对象的访问定位可通过句柄或直接指针,HotSpot主要使用直接指针。内容基于《深入理解Java虚拟机 第三版》。
摘要由CSDN通过智能技术生成

微信公众号:【老张聊天】
一起改变,一起提升,一起进步啊!!
[欢迎大家扫码关注,转发,点赞!]

以下大部分内容基于周志明的《深入理解Java虚拟机 第三版》,第三版相比第二版更新了很多知识点。pdf版本已经上传到网盘,微信扫码关注回复【jvm】获取网盘地址和提取码
在这里插入图片描述

接着上一篇对象的创建,现在来讲下对象的内存布局。

二、对象的内存布局

HotSpot虚拟机中,对象的内存布局分为三个部分:【对象头(Header)】【实例数据(Instance Data)】【对齐补充(Padding)】

1、【对象头】

HotSpot虚拟机的【对象头】部分包括两类信息。

  • 第一类是用于存储对象自身的运行时数据,如HashCode,GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等。这部分数据的长度在32位和64位的虚拟机(未开启指针压缩中)分别是32bit和64bit,官方称为【Mark Word
    • 对象头里的信息是与对象自身定义的数据无关的额外存储成本,考虑到虚拟机的空间效率,根据对象状态的不同,Markword可以复用自己的空间。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值