乐趣区

关于java:int7080500和int5008070内存大小

以前在创立一个 int 数组对象后,只晓得能放多少个数,然而没有算过,须要多少内存空间。
明天看到一篇文章,是比拟比拟 new int2 与 new int100 两者内存大小的,发现差的还是挺多的,之后就本人尝试创立 int70[500]和 int500[70],别离剖析内存应用状况。
对于 int70[500]:
一维:int[][][]
8 字节 对象头部
4 字节 数组长度形容
4*70 一维的援用宽度
padding 4
一共 296 字节
二维 int[][]
8*70 字节 对象头部
4*70 字节 数组长度形容
47080 二维的援用宽度
一共 23240 字节
三维 int[]
87080 字节 对象头部
47080 字节 数组长度形容
450070*80 存储内
一共 11267200 字节
总占用字节数 11290736.
对于 int500[70]
一维:int[][][]
8 字节 对象头部
4 字节 数组长度形容
4*500 一维的援用宽度
padding 4
共 2016 字节
二维 int[][]
8*500 字节 对象头部
4*500 字节 数组长度形容
450080 二维的援用宽度
共 166000 字节
三维 int[]
850080 字节 对象头部
450080 字节 数组长度形容
450080*70 存储内容
一共 11680000 字节
总占用字节数 11848016
对于一个能够寄存 2800000 个元素的数组,两者的差的内存为 557280 字节,差不多是 544KB,

退出移动版