java中,从空间的角度比较 new int[2][100] 与 new int[100][2]

来源:互联网 发布:如何注册国家顶级域名 编辑:程序博客网 时间:2024/06/05 00:33

分析下new int[2][100]的内存大小:

一维:

8字节       对象头部

4字节       数组长度描述

4*2           一维的引用宽度

4               padding

共计24字节

二维:

8字节       对象头部

4字节       数组长度描述

4*100       存储内容

4               padding

共计416字节

因此  new int[2][100]的大小为24+416*2 = 856字节



接下来分析下new int[100][2]的内存大小:

一维:

8字节       对象头部

4字节       数组长度描述

4*100       一维的引用宽度

4               padding

共计416字节


二维:

8字节       对象头部

4字节       数组长度描述

4*2           存储内容

4               padding

共计24字节

因此  new int[100][2]的大小为416 + 24*100 = 2816字节


选自《Java特种兵》,作者:谢宇。章节:3.5.7


0 0