JVM:MAT内存泄漏检测原理

文章目录

一、介绍

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

  • 支配树中对象本身占用的空间称之为浅堆(Shallow Heap)。
  • 支配树中对象的子树就是所有被该对象支配的内容,这些内容组成了对象的深堆(Retained Heap),也称为保留集(Retained Set)。深堆的大小表示该对象如果可以被回收,能释放多大的空间
    在这里插入图片描述
  • MAT就是根据支配树,从叶子节点向根节点遍历,如果发现深堆的大小超过了整个堆内存的一定比例阈值,就会将其标记成内存泄漏的“嫌疑对象。
    在这里插入图片描述

相关推荐

  1. Android 使用LeakCanary检测内存泄漏,分析原因

    2024-07-19 04:38:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 04:38:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 04:38:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 04:38:02       58 阅读
  4. Python语言-面向对象

    2024-07-19 04:38:02       69 阅读

热门阅读

  1. 自制数据集处理

    2024-07-19 04:38:02       19 阅读
  2. layui前端开发-记录一次弹窗嵌套表格功能的开发

    2024-07-19 04:38:02       19 阅读
  3. oracle 查询锁 && 解锁

    2024-07-19 04:38:02       20 阅读
  4. 初识Redis

    2024-07-19 04:38:02       17 阅读
  5. redis setnx使用方法

    2024-07-19 04:38:02       18 阅读
  6. 微服务

    微服务

    2024-07-19 04:38:02      17 阅读
  7. perf工具学习材料

    2024-07-19 04:38:02       17 阅读
  8. opencv—常用函数学习_“干货“_3

    2024-07-19 04:38:02       16 阅读
  9. k8s学习——升级后的k8s使用私有harbor仓库

    2024-07-19 04:38:02       25 阅读
  10. LVS的DR模式

    2024-07-19 04:38:02       19 阅读
  11. 前端常用工具库

    2024-07-19 04:38:02       19 阅读
  12. 智能灯光的工作原理

    2024-07-19 04:38:02       19 阅读
  13. 安全防御:防火墙基本模块

    2024-07-19 04:38:02       21 阅读
  14. Qt区分鼠标按下时移动的是哪个多边形

    2024-07-19 04:38:02       19 阅读