java对象占用内存大小计算方式
2014-07-24 23:02
706 查看
案例一:
User
UserSizeTest
结果:
说明:
案例二:
运行测试类结果;
说明:
User
public class User { }
UserSizeTest
public class UserSizeTest { static final Runtime runTime=Runtime.getRuntime(); public static void main(String[] args) { final int count = 100000; User[] us=new User[count]; long heap1 = 0; for (int i = -1; i < count; ++i) { User user=null ; user=new User(); if (i >= 0) us[i] = user; else { user = null; heap1 = getUsedMemory(); } } long heap2 = getUsedMemory(); System.out.println("user大小:"+((float)heap2-heap1)/count+" bytes"); for (int i = 0; i < count; i++) { us[i]=null; } runTime.gc(); } static long getUsedMemory(){ return runTime.totalMemory()-runTime.freeMemory(); } }
结果:
user大小:7.62576 bytes
说明:
空对象占用8个字节
案例二:
public class User { boolean flag; long id; Date date ; }
运行测试类结果;
user大小:23.50192 bytes
说明:
boolean 1+ long 8 + 引用类型 Date 4 =13 凑齐8的倍数 =16
16+空对象 8 =24
相关文章推荐
- java对象占用内存大小计算方式
- java计算内存大小 java计算对象占用内存大小
- java对象占用内存大小计算方法
- java计算对象占用内存大小:lucene专用于计算堆内存占用大小的工具类
- Java计算一个对象占用内存的大小
- 精确计算一个Java对象占用的内存大小
- Java计算一个对象占用内存的大小
- java Object类占用内存大小计算
- java Object类占用内存大小计算
- JAVA内存使用--如何计算一个Java对象占用的字节数
- JAVA内存使用--如何计算一个Java对象占用的字节数
- Java程序计算各种对象所占内存的大小的方法
- java中计算对象内存大小
- Java对象占用内存空间的大小
- 如何计算java对象占用的内存
- 如何计算java对象占用的内存
- JAVA——对象所占内存空间大小的计算
- 计算Java对象占用的内存
- java Object类占用内存大小计算
- 【JAVA内存】如何计算一个Java对象占用的字节数