采用内存分析工具,简称MAT查看,所谓浅堆就是指只包含对象自身的大小的值,假设一个对象为54 BYTE,那么它的浅堆值就是54,深堆的意思是值,一个对象自身的大小以及它引用的对象的大小的总和,假设一个对象的自身为32,然后引用了A和B,分别为16和8,那么它的深堆大小为56。通常内存泄漏的原因为长生命周期对象引用短生命周期对象,导致GC无法将短生命周期对象回收,因为GCROOTS根可达,内存剩余空间不断被减少,最终抛出OOM错误