JVM:MAT内存泄漏检测原理

文章目录

一、介绍

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

  • 支配树中对象本身占用的空间称之为浅堆(Shallow Heap)。
  • 支配树中对象的子树就是所有被该对象支配的内容,这些内容组成了对象的深堆(Retained Heap),也称为保留集(Retained Set)。深堆的大小表示该对象如果可以被回收,能释放多大的空间
  • MAT就是根据支配树,从叶子节点向根节点遍历,如果发现深堆的大小超过了整个堆内存的一定比例阈值,就会将其标记成内存泄漏的"嫌疑对象。
相关推荐
寻星探路5 小时前
【JVM 终极通关指南】万字长文从底层到实战全维度深度拆解 Java 虚拟机
java·开发语言·jvm·人工智能·python·算法·ai
野犬寒鸦6 小时前
从零起步学习并发编程 || 第九章:Future 类详解及CompletableFuture 类在项目实战中的应用
java·开发语言·jvm·数据库·后端·学习
闻哥10 小时前
ConcurrentHashMap 1.7 源码深度解析:分段锁的设计与实现
java·开发语言·jvm·spring boot·面试·jdk·hash
he___H17 小时前
jvm41-47回
java·开发语言·jvm
chilavert31819 小时前
技术演进中的开发沉思-367:锁机制(上)
java·开发语言·jvm
程序员敲代码吗19 小时前
虚拟机内部工作机制揭秘:深入解析栈帧
java·linux·jvm
llrraa201019 小时前
Doris sql语句转换为sqlite
jvm·sql·sqlite
he___H20 小时前
jvm48-96回
java·jvm·性能优化
he___H2 天前
jvm前15回
jvm
Anastasiozzzz2 天前
深入理解 JVM 堆内存:分代模型与对象晋升机制
jvm