如何分析java对象占用内存大小
引入依赖
<dependency><groupId>org.openjdk.jol</groupId><artifactId>jol-core</artifactId><version>0.17</version>
</dependency>
如何使用?
int[] a=new int[]{1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,1,2,4,};
int[] b=new int[]{1,21,2,4,};
System.out.println("Total object size: " + GraphLayout.parseInstance(a).totalSize() + " bytes");
System.out.println("Total object size: " + GraphLayout.parseInstance(b).totalSize() + " bytes");
Total object size: 248 bytes
Total object size: 32 bytes
递归统计内部对象引用
统计数值仅供参考,粗略的排查问题,不一定准