IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Retained Size

共 1 篇相关文章

IT 累计浏览 3,202

理解Heap Profling名词-Shallow和Retained Sizes

这篇文章讲的是堆内存分析中两个常被混淆但至关重要的概念——Shallow Size和Retained Size。作者从MAT、YourKit等常见分析工具的使用场景出发,清晰剖析了二者的本质区别:Shallow Size衡量的是对象自身直接占用的内存大小,而Retained Size则评估了当这个对象被垃圾回收时,能够连带释放的整个对象树的内存总量。 理解这一差异对性能调优至关重要。仅看Shallow Size可能会误导我们,因为一个本身很小的对象(如一个缓存键),若持有着一个庞大的对象引用,其真正的内存影响需要通过Retained Size才能体现。文章指出,Retained Size才是评估对象真实内存开销、定位内存泄漏根源的关键指标。 在实际排查中,结合两者才能做出准确判断:用Shallow Size快速定位自身占用异常的对象,再用Retained Size分析其影响的范围与链路。这篇文章的价值在于,它把工具界面上这两个并列的名词,还原成了开发者在分析内存时需要建立的两层思考维度。