繁体   English   中英

类型为int的数组的4个字节是否分布在java中的数组元素中?

[英]Is the 4 bytes of an array of type int distributed among the elements of the array in java?

我想知道数组的数据类型是每个元素的数据类型还是整个数组。 例如,这段代码会保留4个字节还是16个字节的RAM?

int[] collection = {30, 40, 50, 60};

4个int值中的每一个都使用4个字节。

但是,该数组使用的对象头在OpenJDK中长度为8-12个字节(和JVMS一样)

默认情况下,对象对齐为8个字节,因此对象的大小将向上舍入为8的倍数。

这意味着对象可以是24到32个字节长。

除非您有一个禁用压缩Oops的64位JVM,否则对该对象的引用将为4个字节。

什么是java对象头文件

Document -XX:ObjectAlignmentInBytes

压缩OOP

这是一个包含四个元素的数组,其中每个元素都是一个int 由于单个int占用4个字节,因此该数组总共需要4 * 4 = 16个字节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM