当前位置: 首页 > news >正文

对象在内存中的存储布局

‌在HotSpot虚拟机中,Java对象在内存中的存储布局主要分为三个部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)‌。这一结构是理解JVM内存管理、锁机制与性能优化的基础。

一、对象头(Header)

对象头存储对象的元信息,主要包括两部分:
‌1. Mark Word‌
用于存储对象的运行时数据,如:

哈希码(identity hash code)
GC分代年龄
锁状态标志(无锁、偏向锁、轻量级锁、重量级锁)
线程持有的锁
偏向线程ID与偏向时间戳
Mark Word 的结构是动态的,会根据对象的状态复用空间,以节省内存 。

2‌. Class Pointer(类型指针)‌
指向该对象所属类的元数据(即方法区中的类信息),JVM通过它确定对象类型 。

默认开启指针压缩(-XX:+UseCompressedClassPointers)时为4字节(64位系统)
关闭后为8字节
⚠️ 若对象为数组,对象头还额外包含 ‌数组长度‌ 字段,因为从元数据无法推断数组大小 。

二、实例数据(Instance Data)

这是对象真正存储的有效信息,即程序中定义的成员变量内容,包括:

本类中定义的字段
从父类继承的字段
字段的排列顺序受虚拟机参数 -XX:FieldsAllocationStyle 影响,默认顺序为:
long/double → int → short/char → byte/boolean → oops(引用类型)
默认开启引用类型压缩(-XX:+UseCompressedOops)时为4字节
相同宽度的字段会被分组存放,以提高内存访问效率 。

例如,一个包含 int a; long b; Object ref; 的对象,其字段按 b(8字节)→ a(4字节)→ ref(4字节) 排列(64位+指针压缩)。

三、对齐填充(Padding)

并非必然存在,仅起占位作用。
HotSpot VM要求对象总大小必须是 ‌8字节的整数倍‌。
当前两部分总大小不满足对齐要求时,通过填充字节补全 。
✅ 示例:若对象头12字节 + 实例数据16字节 = 28字节,则需填充4字节,使总大小为32字节。

http://www.jsqmd.com/news/574069/

相关文章:

  • 告别SSH一息屏就断连!用Termux-wake-lock让你的手机后台稳定运行
  • 如何用AI将视频从24FPS提升到120FPS?Video2X帧插值技术全解析
  • Python程序设计期末考试高频大题精讲:二维列表数据处理实战与深度解析
  • 油价暴涨对电车的托举或被高估,电车高增长预期可能落空,消费者还是爱燃油车!
  • 避坑指南:为什么你的YOLOv8加注意力机制不涨点?3个被忽视的配置文件细节
  • OpenClaw技能扩展实战:用Qwen3.5-9B自动生成周报初稿
  • 对象头具体包含什么
  • 阿里云轻量服务器零基础极速部署、OpenClaw基础配置、钉钉快速接入、阿里云千问/Coding Plan模型配置、新手全流程避坑指南
  • OpenClaw小龙虾初体验【安装学习】
  • SEO优化和付费广告投放如何结合_移动端页面优化有哪些注意事项
  • 三次握手,四次挥手速记版
  • 嵌入式开发必读:RISC-V与ARM实战指南
  • SEO 正规公司如何进行网站诊断_SEO正规公司的收费标准是多少
  • Linux上的蓝牙架构
  • 2026年4月OpenClaw如何部署?华为云5分钟零基础指南及百炼APIKey配置步骤
  • SAP BP主数据保存后自动发送外围系统的一种方式
  • 新冠病毒感染人数预测项目
  • 从Skills到监控:OpenClaw企业级使用全链路
  • 2026年4月怎么安装OpenClaw?京东云9分钟新手教程及百炼APIKey配置流程
  • 模糊逻辑温度控制器:技术革新与市场前景深度解析
  • 浏览器扩展工具BewlyBewly:从安装到个性化设置的全攻略
  • 嵌入式开发实战:24个产品级项目源码解析
  • OpenClaw日志分析:千问3.5-9B任务执行问题定位
  • C语言入门必看:2026年嵌入式开发选C还是C++?
  • OpenClaw+Phi-3-vision-128k-instruct:技术文档的自动化截图更新方案
  • Milvus 向量数据库的安装和启动
  • 微信小程序开发
  • Chrome 安全机制深度解析(二)告别 unsafe-inline:CSP 进阶实战与攻防博弈,构建真正无法绕过的内容防线
  • 柴油动力混凝土泵选型指南:2026年邢台市场五大服务商深度解析 - 2026年企业推荐榜
  • 2026年4月如何集成OpenClaw?云端7分钟超简单教程及百炼APIKey配置方法