一个数组占用多少空间?

2024-03-23

如果我创建 10 个整数和一个 10 的整数数组,占用的总空间会有什么差异吗?

我必须创建一个包含数百万条记录的布尔数组,所以我想了解数组本身将占用多少空间。


整数数组表示为保存整数的内存块和对象头。对于 32 位 JVM,对象标头通常需要 3 个 32 位字,但这与平台相关。 (标头包含一些标志位、对类描述符的引用、原始锁定信息的空间以及实际数组的长度。加上填充。)

因此 10 个整数的数组可能占据以下区域13 * 4 bytes.

在这种情况下Integer[],每个 Integer 对象都有一个 2 字标题和一个包含实际值的 1 字字段。并且还需要添加填充和1个字(或64位JVM上的1到2个字)以供参考。这通常是数组的每个元素 5 个字或 20 个字节...除非某些 Integer 对象出现在数组中的多个位置。


Notes:

  1. 在 64 位 JVM 上实际用于引用的字数取决于是否使用“压缩的 oops”。
  2. 在某些 JVM 上,堆节点以 16 字节的倍数分配……这会增加空间使用量(例如上面提到的填充)。
  3. 如果您获取对象的身份哈希码,并且它在下一次垃圾回收中幸存下来,则其大小会增加至少 4 个字节以缓存哈希码值。
  4. 除了上面列举的可变性来源之外,这些数字都是特定于版本和供应商的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一个数组占用多少空间? 的相关文章

随机推荐

  • 我应该如何为 PHP 中的所有页面设置全局变量

    Question 我要实现 associate name and app key全局变量 这样我就可以在任何我想要的页面上访问它们 下面是我的头文件中的代码 获取变量将出现在索引页中 它在索引页面上工作正常 因为 GET 数据可用 但是当用
  • Powerpoint 演示文稿中可编辑 HTML、CSS 和 Javascript?

    我想知道是否可以在 powerpoint 内有一个可编辑的 HTML 演示界面 如 Plunkr 用于进行有关 HTML JavaScript 等的教育演示 有人这样做过吗 是否可以在 powerpoint 中嵌入带有 plunkr 或本地
  • 树图如何使用红黑树算法

    我读过很多关于红黑树的文章 其中操作需要 O log n 时间 我不太清楚它是如何工作的 以及与二叉搜索树相比 树图实际上如何使用红黑树算法来平衡树 参考链接https www topcoder com community data sci
  • PhoneGap Ripple 模拟器总是报告格式错误的 config.xml

    有谁知道什么会导致最新版本的 Chrome 上的 Ripple 模拟器 最新版本 always报告格式错误或丢失的配置文件 在应用程序的根目录中找不到 config xml 文件或者 XML 格式错误 我有我的config xml完全存在于
  • Azure 上的 PushSharp ASP.net MVC4 问题。 - 无法连接APNS反馈服务

    我有一个 ASP Net MVC4 网站 在 Azure 上运行一个简单的 Web 服务 为我们的移动应用程序提供推送通知服务 它在我的计算机上的本地 IIS 实例上运行时可以工作 但一旦部署到 Azure 它会工作一段时间然后停止 看来P
  • x 轴上只有一个变量的 Corrplot

    我有一个包含大约 200 个变量的数据集 我希望了解其中一个变量如何与所有其他变量相关 但是 当我使用corrplot 它给了我完整的相关矩阵200x200细胞的大小 并且大到可以很好地可视化 我将使用iris可重现示例的数据集 说吧 我只
  • 在 C++ 中是否可以获取作为参数传递的变量名称的字符串? [复制]

    这个问题在这里已经有答案了 我希望能够做这样的事情 int myVar 3 void logger int param std cout lt lt nameOf param lt lt lt lt param lt lt std endl
  • 如何删除SSIS中数据流任务中的列?

    I use SQL Server 2016我很忙DataFlow task In my DataFlow task I use Multicast component因为某些原因 在我的中创建一个新的流程后DataFlow 我需要删除新流程
  • 如何使用 ActionScript 3 在 Flash 中创建文本按钮?

    当我尝试使用文本字段作为按钮时 它似乎没有buttonMode财产 如何在 Flash 项目中使用 ActionScript 以编程方式创建文本按钮 它应该是一个简单的文本 可以点击 您可以添加TextField to a Sprite并将
  • 如何在具有提升权限的 WiX 中创建的 MSI 中运行自定义操作?

    我有一个安装程序需要访问注册表并使用自定义操作复制和删除文件 在 Windows XP 中 安装程序运行良好 但在 Vista 和 7 中 安装程序显示错误 因为它无法访问文件夹 但如果我以管理员身份运行安装程序 则一切正常 因此 我需要安
  • firebreath JSAPI 在 firefox 中不会被识别

    首先介绍一下我使用 Firebreath 所做的一些背景知识 我正在使用 firebreath 在浏览器中开发渲染查看器插 件 我在插件中定义了两种 MIME 类型 一种用于主查看器 另一种用于 2D 平面图 在每个页面中 仅允许一个主查看
  • 反应本机视图拍摄捕捉模糊屏幕截图

    我正在使用react native snap shot 库来共享我的屏幕 它对于小内容工作正常 但对于详细视图长滚动视图 其模糊且文本不可读
  • 将 java.sql.date 转换为 java.time.LocalDateTime

    我如何转换java sql Date从 JDBC 数据库返回到java time LocalDateTime 实际上比我想象的要容易 这对我有用 java sql ResultSet result result getTimestamp v
  • 多个action.class.php

    我确实有一个模块 例如帐户 当然 您会在 acount actions action class php 中找到一个名为的文件 PHP 文件action class php 变得越来越大 可以延长吗 举个例子 account action
  • 当我拥有原始文件时恢复 AES 加密文件密码

    如果某人同时拥有加密文件和原始文件 有没有办法知道用于加密文件的秘密是什么 AES 是一种分组密码 不易受已知明文攻击 http en wikipedia org wiki Known plaintext attack 蛮力是你唯一的选择
  • Ext JS:xtype 有什么用?

    我看到 Ext JS 中有很多例子 其中不是实际创建 Ext JS 对象 而是一个带有xtype属性被传入 这有什么用 如果无论如何都要创建对象 性能增益在哪里 如果这是原因 xtype是识别特定组件的简写方法 panel Ext Pane
  • 在这种特定情况下,使用成员初始值设定项列表和在构造函数中赋值之间有区别吗?

    在内部和生成的代码方面 以下之间是否存在真正的区别 MyClass MyClass capacity 15 data NULL len 0 and MyClass MyClass capacity 15 data NULL len 0 谢谢
  • 进程的页表是否映射到内核地址空间?

    我当时正在做 Windows 系统编程 想知道是否可以在源代码级别访问进程的页表 这是我所了解的与虚拟内存相关的页表 假设用户刚刚在 Windows 操作系统 32 位 上运行一个名为 A 进程的进程 首先 操作系统为A进程创建并维护4GB
  • ER 图中的 mysql 工作台列图标意味着什么?

    谁能帮我解释一下 MySQL Workbench 中创建的数据库 ER 图中的图标 蓝钻 实心 蓝钻 未填充 红钻等 Thanks 我在 MySQL 的网站上找到了这些资源 http dev mysql com doc workbench
  • 一个数组占用多少空间?

    如果我创建 10 个整数和一个 10 的整数数组 占用的总空间会有什么差异吗 我必须创建一个包含数百万条记录的布尔数组 所以我想了解数组本身将占用多少空间 整数数组表示为保存整数的内存块和对象头 对于 32 位 JVM 对象标头通常需要 3