Eclipse Memory Analyzer(MAT)内存溢出分析工具的简单实用

建议学习的小伙伴先看下我博客分类JVM的文章

首先我们得先下载这个工具

https://www.eclipse.org/mat/downloads.php

使用步骤说明及简述

Eclipse Memory Analyzer(MAT)内存溢出分析工具的简单实用
点击file的按钮选择Open Heap dump 在自己本地找到对应的.hprof文件,不知道这个文件怎么来的同学,建议参考下我博客分类JVM中的帖子,里面有说明
Eclipse Memory Analyzer(MAT)内存溢出分析工具的简单实用
到底是哪个地方出现了内存溢出呢?咱们接着来看下
Eclipse Memory Analyzer(MAT)内存溢出分析工具的简单实用
下面我们即将揭开谜底
Eclipse Memory Analyzer(MAT)内存溢出分析工具的简单实用
点击那个类似于柱状图的按钮(Histogram),可以清晰的看出我们堆中存放的东西,char[] ,String等的常量,还有user类
同其他的来比,占的内存确实不小,通过这个我们具体看出,在Testcontroller中,具体是哪个对象导致的内存溢出。
再往下看,我们看下是谁这么不要脸引用了它
Eclipse Memory Analyzer(MAT)内存溢出分析工具的简单实用
Eclipse Memory Analyzer(MAT)内存溢出分析工具的简单实用
好了,原来是userList,在https://blog.****.net/xigua_0616/article/details/88902783中我们模拟的是堆内存溢出,可以确认这个工具分析的还是蛮到位的嘛
Eclipse Memory Analyzer(MAT)内存溢出分析工具的简单实用
Eclipse Memory Analyzer(MAT)内存溢出分析工具的简单实用