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

JVM—Java对象

JVM中的Java对象在堆内存中的存储分布可以分为对象头,实例数据和对齐填充三部分

对象头:

包含运行时元数据和类型指针

1、Mark Word(标记字段)

对象自身的运行时数据:
  • 锁状态标志(无锁、偏向锁、轻量级锁、重量级锁、GC标记)
  • 哈希码
  • 分代年龄(用于分代GC)
  • 线程ID(偏向锁持有者)
长度:
  • 32位JVM:4字节
  • 64位JVM:8字节,开启指针压缩(-XX:+UseCompressedOops)后可能优化为4字节
数组长度(仅数组对象有)

实例数据

存储对象的字段数据(包括从父类继承的字段)排列顺序受,​字段分配策略​ 影响:

  • 默认策略​:按 long/double → int/float → short/char → byte/boolean → 引用类型 降序排列。
  • 父类字段在前,子类字段在后
  • 相同宽度的字段会被分配在一起​(减少内存填充)。

对齐填充:

  • JVM要求对象大小必须是8字节的整数倍,如果对象头+实例数据总大小不满足会额外填充字节
  • 作用优化内存访问性能(CPU按块读取,对齐后减少缓存行未命中)

相关文章:

  • Vue3中reactive响应式使用注意事项
  • 港口危货储存单位主要安全管理人员考试题
  • Android正则表达式
  • 技术文档:SINAMICS S120 变频器搭配 GRJ9000S 系列 EMC 电源滤波器
  • 教育行业课件共享难题:大文件分发效率优化方案
  • 【Java高阶面经:消息队列篇】22、消息队列核心应用:高并发场景下的解耦、异步与削峰
  • 龙虎榜——20250523
  • 继续对《道德经》第57章至第81章进行数学形式化建模
  • 今日打卡,Leetcode第四题:寻找两个正序数组的中位数,博主表示就会sorted
  • 若依 Plus 自定义字典的使用
  • 如何设置名称服务器
  • 2025年5月软考系分论文预测
  • 【解决】GIT空文件夹不被追踪导致的分支污染
  • 大疆制图跑飞马D2000的正射与三维模型
  • PETR- Position Embedding Transformation for Multi-View 3D Object Detection
  • 从渗透测试角度分析 HTTP 数据包
  • 【前端】Bun:快速上手
  • WebStorm 高效快捷方式全解析
  • ⽂件上传⿊名单限制绕过方法
  • 如何在STM32CubeMX下为STM32工程配置调试打印功能
  • 揭阳网站制作维护/seo网站自动发布外链工具
  • 营销类wordpress主题/windows优化大师要会员
  • 河北青山建设集团有限公司网站/互联网广告平台排名
  • 设计师一般放作品的网站/大数据培训机构排名前十
  • 学做网站都要学什么专业/郑州网站建设公司
  • 高端网站建设优化/百度我的订单