Java 对象内存布局

在虚拟机中,Java对象在内存中的布局可以分为三块:

  • 对象头(Header) :包含 markword 标记字段类型指针32 位上大小是 8 个字节64 位 16 个字节
  • 实例数据(Instance Data):包含了对象的所有成员变量,其大小由各个成员变量的大小决定,HotSpot虚拟机的默认分配策略中,宽度相等的字段总是被分配到一起存放,如longdouble, shortcharbyteboolean
  • 对齐填充(Padding) :占位符的作用,HotSpot 虚拟机要求对象的大小必须是 8 字节的整数倍因为对象头部分被精心设计成是 8 字节的倍数(1倍或2倍)),这部分并不是必然存在的,如果对象实例数据没有对齐的话,就需要通过对齐填充进行补全。

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

对象头又包括:

  • markword 标记字段哈希码、GC分代年龄、锁状态等,32位上是4字节,64位8字节
  • 类型指针指向对象的类型元数据的指针JVM 通过这个指针来确定这个对象是属于哪个类的实例32 位 4 字节,64 位开启指针压缩 4 字节,否则 8 字节,jdk 1.8 默认开启指针压缩后为 4 字节
  • 数组长度如果对象是一个数组对象, 那在对象头中还必须有一块数据用于记录数组长度。 4 字节

在这里插入图片描述

对于 64 位上的一个空对象:

在这里插入图片描述

也就是说,在 64 位系统上,不开启指针压缩的情况下,一个空对象也要占用 16 字节的大小,而如果这个对象是数组对象,还要额外占用 4 字节,即 20 字节。

所以,在开发中应当尽量避免使用包装类型和枚举类型作为参数类型设计,使用包装类型除了拆装箱的开销外,在数据规模较大的情况下,还有可能占用较大的内存或者造成内存抖动。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/274056.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

特殊求和(C++)

系列文章目录 进阶的卡莎C++_睡觉觉觉得的博客-CSDN博客数1的个数_睡觉觉觉得的博客-CSDN博客双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客足球联赛积分_睡觉觉觉得的博客-CSDN博客大减价(一级)_睡觉觉觉得的博客-CSDN博客小写字母的判断_睡觉觉觉得的博客-CSDN博客纸币(…

LeetCode206反转链表(java实现)

今天带来的题目解析是leetcode206,反转链表,我们来看下题目描述 如何实现链表的反转呢?我在这里提供的思路是双指针的思路。 具体的思路如下: 假设我们的原链表如下 首先定义一个指针pre,用于指向head之前的位置&am…

浮点数(float)与整型数(int)的转换

1.浮点数(float/double)转整型数(int)——向零舍入 假设定义float a1.3,b1.6,c2.0; int aa,bb,cc; 使用强制转换aa(int)a;bb(int)b;cc(int)c;结果aa1;bb1;cc2; 在处理时为了四舍五入,aa(int)(a0.5);bb(int)(b0.5);…

Kafka、RocketMQ、RabbitMQ消息丢失可能存在的地方,以及解决方案

这里主要对比:Kafka、RocketMQ、RabbitMQ 介绍一下消息生产、存储、消费三者的架构形式。 消息丢失可能存在的场景: 情况一: 生产者发送给MQ的过程消息丢失 在写消息的过程中因为网络的原因,还没到mq消息就丢失了;或…

为什么要运营海外社媒?海外云手机能发挥什么作用?

基于海外社媒在全球范围内拥有的大量流量,海外社媒运营成为了品牌推广、内容创作和用户互动的重要途径。本文将探讨海外社媒运营的重要性,并介绍海外云手机在这一过程中的卓越帮助。 海外社媒运营的重要性 首先,海外社媒运营有助于企业扩大品…

搭建Vue前端项目的流程

1、安装nodejs 测试安装是否成功 $ npm -v 6.14.16 $ node -v v12.22.122、全局安装npm install -g vue/cli,后续会使用到vue命令 $ vue --version vue/cli 5.0.8使用vue create demo_project_fe命令创建项目,使用箭头键来选择,确认使用回车…

Linux内核中断

Linux内核中断 ARM里当按下按键的时候,他首先会执行汇编文件start.s里面的异常向量表里面的irq,在irq里面进行一些操作。 再跳转到C的do_irq(); 进行操作:1)判断中断的序号;2)处理中断;3)清除中…

macOS系统下载安装PyCharm社区版本的流程(详细)

第一步 进入PyCharm官网,链接:Get Your Educational Tool - JetBrains 第二步 选择下拉框,根据自己的电脑芯片选择下载版本(芯片查看位置:设置-通用-关于本机)然后点击Download按钮 ​​​​​​​ -- 第…

XUbuntu22.04之删除多余虚拟网卡和虚拟网桥(二百零四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

基础概念、思维习惯、知识图谱

说明: 刚开始写本文,因为本文涉及的内容会很多,部分内容要写清楚不容易,所以提前声明,现在只是第一阶段,先收集零散的内容,第二阶段再大刀阔斧地重构目录。 一,基础概念 1&#xf…

win桌面圣诞小插件分享

最终效果 文章目录 最终效果前言下载效果更多完结 前言 圣诞到了,最近有小伙伴问我有没有一些桌面圣诞小插件可以分享一下,所以我就特地去寻找了一些,感觉效果还不错,所以分享出来 下载 链接:https://pan.baidu.com…

css 设置鼠标覆盖显示菜单

鼠标覆盖到“全部分类”效果如下 鼠标放到“精品推荐”效果如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&g…

猫冻干哪个牌子好又便宜?性价比高的5款主食冻干猫粮推荐

各位铲屎官都知道猫天性是食肉动物&#xff0c;无肉不欢的。而冻干猫粮对于猫咪来说是最好还原猫咪食肉天性的食物&#xff0c;不仅可以当成猫咪的主食&#xff0c;也可以用来给猫咪当成零食&#xff0c;帮助猫咪补充营养。冻干猫粮是经过真空冷冻干燥处理的鲜肉&#xff0c;能…

DRF从入门到精通五(路由组件、认证组件、权限组件、频率组件及认证、权限源码分析)

文章目录 一、路由组件REST framework提供了两个routeraction装饰器 二、认证组件(Authentication)三、权限组件(Permissions)内置权限类 四、频率组件(Throttling)五、权限组件源码分析六、认证组件源码分析 一、路由组件 对于视图集ViewSetMixin&#xff0c;我们除了可以自己…

python+selenium 定位到元素,无法点击的解决方法

今天小编就为大家分享一篇pythonselenium 定位到元素,无法点击的解决方法&#xff0c;具有很好的参考价值&#xff0c;希望对大家有所帮助。一起跟随小编过来看看吧 selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (234.75, 22)…

github新建仓库推送代码教学

之前一直用gitee&#xff0c;准备转到github。因为一步一步尝试。如果是新手或许文章会有帮助 点击 new 创建 拉代码 Idea 打开 复制一个 pom 文件作为 maven 管理 提交代码 不出意外的出意外&#xff0c;报错 点击authorize JetBrains 失败 分析问题 本质就是没有…

搭建一个高效的Python开发环境

“工欲善其事&#xff0c;必先利其器”&#xff0c;这里我们来搭建一套高效的 Python 开发环境&#xff0c;为后续的数据分析做准备。 关于高效作业&#xff0c;对于需要编写 Python 代码进行数据分析的工作而言&#xff0c;主要涉及两个方面。 1. 一款具备强大的自动完成和错…

如何快速获取抖音新用户/用户信息

一、快速获取抖音用户信息意味着什么&#xff1f; 抖音是一款热门的短视频社交平台&#xff0c;拥有海量用户和高度活跃的商业生态。用户逐渐增多&#xff0c;庞大的用户也意味着隐藏着庞大的市场和商机&#xff0c;用户的偏好、关注点等信息都时刻影响着商业的效益&#xff0…

推特(Twitter)蓝V

点击个人订阅 这里需要一张visa卡才可以订阅&#xff0c;点击获取 订阅成功

2024 年混合云:趋势和预测

混合云环境对于 DevOps 团队变得越来越重要&#xff0c;主要是因为它们能够弥合公共云资源的快速部署与私有云基础设施的安全和控制之间的差距。这种环境的混合为 DevOps 团队提供了灵活性和可扩展性&#xff0c;这对于大型企业中的持续集成和持续部署 (CI/CD) 至关重要。 在混…
最新文章