连接来源:https://blog.csdn.net/alcoholdi/article/details/55667078
先讲两个概念
关于Shallow Size和Retained Size
https://www.yourkit.com/docs/java/help/sizes.jsp 或这篇译文 http://blog.csdn.net/kingzone_2008/article/details/9083327 讲的很详细.总结就是:
Shallow Size是对象本身占据的内存的大小,不包含其引用的对象。对于常规对象(非数组)的Shallow Size由其成员变量的数量和类型来定,数组的ShallowSize由数组类型和数组长度来决定,它为数组元素大小的总和。
Retained Size是对象本身,加上可直接或间接引用到的对象的大小,其中要减去被GC Roots存在另外一条路径引用的对象。所以这也可以理解为GC之后所能回收到内存的总和。
转载自:https://blog.csdn.net/alcoholdi/article/details/55667078