MAT工具详解

简介

Java自带的JVisualVm可以用来分析Java堆内存,可以用来排查内存泄漏和内存浪费的问题,但是功能不是特别强大, MAT(Memory Aanlysis Tool)是一款更优的工具。

MAT功能

功能组

image-20240414184827598
全局信息

image-20240414185623190

直方图

按照类的数量倒序的视图。

image-20240414185720681

Shallow Heap: 浅内存,即类本身占用的内存。

Retained Heap:深内存,即类包括自身的和 引用的内存。

支配树

对象 按照其引用的内存size 倒序的视图

image-20240414190229326

Leak suspect

image-20240414190716899

点击 details 查看明细

image-20240414191218125

其他菜单

在Dominate tree 上,任一对象实例上,右键,可以查询引用

List Objects -> with outgoing references:这个对象 持有 哪些 对象的引用。

List Objects -> with incomingreferences:这个对象的引用 被 哪些 对象持有。

show Objects by class -> with outgoing references:这个对象 持有 哪些 对象的引用,按类分组。

show Objects by class -> with incomingreferences:这个对象的引用 被 哪些 对象持有,按类分组。

Java Collections:对集合对象的分析

附录

参考

MAT的下载地址:https://download.eclipse.org/mat/1.4/update-site/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/543153.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI大模型日报#0413:谷歌引入“无限注意力”、Picsart AI 开源120秒超长AI视频模型

导读: 欢迎阅读《AI大模型日报》,内容基于Python爬虫和LLM自动生成。目前采用“文心一言”生成了每条资讯的摘要。 标题: 速递|木头姐 ARK 宣布已投资 OpenAI!还将 Anthropic 及 Figure1 等 AI 独角兽一网打尽摘要: ARK已通过其风…

Zookeeper和Kafka的部署

目录 一、Zookeeper的基本概念 1. Zookeeper定义 2. Zookeeper工作机制 3. Zookeeper特点 4. Zookeeper数据结构 5. Zookeeper应用场景 5.1 统一命名服务 5.2 统一配置管理 5.3 统一集群管理 5.4 服务器动态上下线 5.5 软负载均衡 6. Zookeeper 选举机制 6.1 第一…

MySQL——链表

主键:非空 唯一(针对整列数据而言) 为了方便管理一般主键都是设置为自增 外键:一张表中的一列的值是另一张表的主键,使用外键建立两张数据表的数据关系 一、两张表连接 将两张表格拼接成一个表 1、格式:s…

kali桥接校园网实现上网

1.查看校园网信息 1. vim /etc/network/interfaces 添加下列信息,地址、网关、掩码和主机一样即可 3.vim /etc/resolv.conf 添加dns解析 4.macchanger -m AA:bb:cc:DD:ee:ff eth0(改为和主机一样的mac) 5. /etc/init.d/networking restart 重启网络即可

【Python函数和类4/6】递归与匿名函数

目录 目标 匿名函数 多个形参 匿名函数的局限性 递归 语言例子 数学例子 递归的实现 递归代码 练习 总结 目标 在之前的博客中,我们学习了定义函数、调用函数以及设置函数的参数。在今天,我们会补充函数的两个常见的知识点,一个是匿…

【Linux】安装及管理程序

目录 一、Linux应用程序基础 1.应用程序与系统命令 2.典型应用程序的目录结构 3.软件包封装类型 二、RPM 1.RPM 软件包管理器 2.RPM软件包命名格式 3.RPM命令的格式 4.查询已安装的rpm软件信息 5.查询未安装的 RPM 软件包文件中信息 6.安装、升级、卸载 RPM 软件包 …

gitlab:Could not resolve host

fatal: unable to access http://xxx.git/: Could not resolve host: yyy Git-fatal: unable to access ‘https://gitlab.XX.git/‘: Could not resolve host: gitlab.XX.com.cn_drone unable to access .git/: could-CSDN博客 原因: 克隆的时候使用的是这里的HTT…

jenkins+docker集成harbor实现可持续集成

目录 一、前言 二、Harbor介绍 2.1 什么是Harbor 2.1.1 Harbor架构图 2.2 Harbor 特征 2.3 Harbor 核心组件 2.4 Harbor使用场景 三、Harbor部署 3.1 安装docker compose 3.1.1 安装方式一 3.2 基于python3 pip安装docker compose 3.2.1 安装python3 3.2.2 安装pyt…

我的新书,在西西弗书店上架了!

大家好,我是程序员小灰。今天告诉大家一个好消息,我的新书在西西弗书店上架了! 熟悉小灰的朋友都知道,我以前是京东的一名程序员,现在全职投入到IT领域的自媒体创作。在2019年,我出版了人生中的第一本书《漫…

MacBook Pro找不到fffmpeg

报错信息 ffmpeg: command not found 在macOS上,可以使用Homebrew通过运行brew install ffmpeg 这期间可能涉及brew的更新

使用 MTK 迁移 Oracle 11g 数据库 至 MogDB 3.0 运维指南

一、环境概述 本次是进行Oracle到MogDB测试迁移,具体生产迁移,还需考虑更多步骤细节,请查看MogDB官方文档。 操作系统版本内核版本数据库类型数据库版本字符集数据库端口源端CentOS release 6.8 (Final)2.6.32-642.el6.x86_64单机Oracle 11.2…

[C++]哈希应用之位图布隆过滤器

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:c大冒险 总有光环在陨落,总有新星在闪烁 前言: 我们之前…

【Spring进阶系列丨第九篇】基于XML的面向切面编程(AOP)详解

文章目录 一、基于XML的AOP1.1、打印日志案例1.1.1、beans.xml中添加aop的约束1.1.2、定义Bean 1.2、定义记录日志的类【切面】1.3、导入AOP的依赖1.4、主配置文件中配置AOP1.5、测试1.6、切入点表达式1.6.1、访问修饰符可以省略1.6.2、返回值可以使用通配符,表示任…

【深度学习实战(3)】打印自己模型的推理帧率

一、FPS(每秒传输帧数-Frames Per Second) FPS就是目标网络每秒可以处理(检测)多少帧(多少张图片),FPS简单来理解就是图像的刷新频率,也就是每秒多少帧,假设目标检测网络处理1帧要0.02s,此时FPS就是1/0.0250 其中Processing tim…

配置DHCP服务器实现为动态客户端和静态客户端分配不同网络参数

相关学习推荐:什么是DHCP?为什么要使用DHCP? 华为HCIP课程【视频教程】:华为HCIP必考题:DHCP协议原理与配置 组网需求 如图1所示,Router作为企业出口网关,PC和IP Phone为某办公区办公设备。为了方便统一管…

五子棋:不会下五子棋也没关系,会用Java写五子棋就行

关注公号“微澜网络”获取完整源代码! 效果展示: 目录 效果展示: 导语: 游戏介绍: 程序设计: 1.游戏规则和功能: 2.用户界面设计: 3.程序架构设计: 4.可扩展性和灵…

ES增强框架easy-es

因为最近做的功能是关于舆情的,所以数据量比较大的,本来打算用MySQL做时间分表来做,但是经过一段时间的测试,发现数据量太大,用时间分表不能满足性能的要求,所以决定将数据存储改为ES,但是短时间内改底层框架又不是一个小工程,时间上不允许,所以找到了一个很合适的框架,他跟myb…

记一次Oracle DG备库实例宕分析

一、问题现象 同事反馈国外点在国内的XXX备库实例宕,尝试将该实例重启,结果重启报如下错误,未能正常启动该数据库。 Standby crash recovery failed to bring standby database to a consistent point because needed redo hasnt arrived yet…

Python | 宝妈自述:离职4年,求职屡遭拒后,如何成功重返职场

我是⼀名已经30岁的宝妈。 怀孕后检查出来是双胎,为了宝宝健康,毅然决然辞职待产。 孩⼦出生后,因为是龙凤胎,婆婆⼀个人照顾不过来,再加上其中⼀个⾝体较弱,为了专注照顾宝宝,就这样⼀直做了…

(四)qt中使用ffmpeg播放视频,可暂停恢复

一、在qt中添加ffmpeg库及头文件 INCLUDEPATH /usr/local/ffmpeg/include LIBS -L/usr/local/lib -lavutil -lavcodec -lavformat -lswscale 二、详细代码 FFempegVideoDecode 视频解码类(放入线程中) ffmpegvideodecode.h #ifndef FFMPEGVIDEODE…