JVM:MAT内存泄漏检测原理

文章目录

一、介绍

MAT提供了称为支配树(Dominator Tree)的对象图。支配树展示的是对象实例间的支配关系。在对象引用图中,所有指向对象B的路径都经过对象A,则认为对象A支配对象B。

  • 支配树中对象本身占用的空间称之为浅堆(Shallow Heap)。
  • 支配树中对象的子树就是所有被该对象支配的内容,这些内容组成了对象的深堆(Retained Heap),也称为保留集(Retained Set)。深堆的大小表示该对象如果可以被回收,能释放多大的空间
  • MAT就是根据支配树,从叶子节点向根节点遍历,如果发现深堆的大小超过了整个堆内存的一定比例阈值,就会将其标记成内存泄漏的"嫌疑对象。
相关推荐
Drifter_yh2 小时前
「JVM」 深入理解 StringTable:从底层编译优化到 intern 核心解密
java·jvm
Drifter_yh2 小时前
「JVM」 从字节码看多态原理与语法糖本质
jvm
Drifter_yh2 小时前
「JVM」 Java 类加载机制与双亲委派模型深度解析
java·开发语言·jvm
Drifter_yh3 小时前
「JVM」Java 垃圾回收机制全解析:回收算法、分代流转与 G1 收集器底层拆解
java·jvm·算法
wuqingshun3141593 小时前
简述双亲委派机制以及其优点
java·开发语言·jvm
渣瓦攻城狮4 小时前
浜掕仈缃戝ぇ鍘侸ava闈㈣瘯锛氫弗鑲冮潰璇曞畼涓庢悶绗戠▼搴忓憳璋㈤鏈虹殑瀵硅瘽
jvm·redis·docker·springboot·java闈㈣瘯·澶氱嚎绋�·璁捐妯″紡
扶苏瑾15 小时前
线程安全问题的产生原因与解决方案
java·开发语言·jvm
百锦再17 小时前
Java中的反射机制详解:从原理到实践的全面剖析
java·开发语言·jvm·spring boot·struts·spring cloud·kafka
攒了一袋星辰18 小时前
JVM类加载过程
运维·服务器·jvm
wuqingshun31415920 小时前
说一下java的反射机制
java·开发语言·jvm