Java中类型占用内存大小

2014-11-24 13:19:07 · 作者: · 浏览: 2

Java中类型占用内存大小:


一个引用:4字节


一个Object:8字节


一个Integer:16字节 == (8 + 4) / 8 * 8


一个int:4字节


长度为0的数组大小:JRo64=24, Sun32=12


引用大小,如Object = null: JRo64=JRo32=4, Sun32=4, Sun64=8


无成员的对象大小,如new Object();: JRo32=JRo64=8, Sun32=8, Sun64=16


new byte[0]: JRo32=JRo64=8+8 Sun32=8+4, Sun64=16+8


长度l的byte数组:(l+19)/8*8


长度l的char/short数组:(l*2+19)/8*8 == (l+9)/4*8


长度l的String:(l+1)/4*8+40


长度l的int数组:(l*4+19)/8*8 ==(l+4)/2*8


长度l的long数组:(l*8+19)/8*8 == (l+2)*8