java - Java中数组的内存使用开销的原因是什么?

标签 java arrays performance jvm vm-implementation

在 Java 中,字符数据类型 char 用 2 个字节表示。 n 个字符的数组 char[]2n+24 字节表示。

通常,存储 n 对象的数组(至少如果对象是原始类型)会有 24 字节的开销。

为什么我们需要这些额外的 24 个字节?它们是如何使用的?

编辑(2015 年 7 月 2 日)我在评论中注意到提供了此问题的答案 here在程序员 StackExchange 上。

最佳答案

它是对象头,它包括对象本身的信息(锁定位、GC 标记位)、指向其类对象的指针和长度。

关于java - Java中数组的内存使用开销的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31182290/

相关文章:

php - 如何将mysql行存储到私有(private)数组变量中?

arrays - Perl 中的多维数组或散列。访问项目

c - 哪个效率更高 : char str[] or char *str?

java - 从内部类内部访问局部变量

java - 如何使用 java 识别 kubernetes 中的终止 pod

java - 如何删除 eclipse rcp 应用程序中不需要的菜单贡献?

performance - 住户地址之间的最短距离/路径

python - 讲解numpy向量化函数应用VS python for循环的速度差异

ios - 多次调用 setFrame?

java - 为什么我们要检查是否启用了调试或日志错误?