(1). MAT是什么?

MAT是一款高性能、具备丰富功能的Java堆内存分析工具,可以用来排查内存泄漏和内存浪费的问题.

(2). MAT安装(略)

“Eclipse MAT官网”

(3). MAT主界面

"Eclipse MAT主界面"

(4). 类直方图(Histogram)

类直方图是从类的角度看哪些类及该类的实例对象占用着内存情况,默认是按照类的Shallow Heap大小从大到小排序.

"Eclipse MAT 直方图"

(5). 支配树(Dominator)

支配树可以用来排查是哪些对象导致了其他对象无法被垃圾收集器回收.

"Eclipse MAT Dominator"

(6). 线程(Thread)

线程视图展示了:在生成快照那个时刻,JVM中的Java线程对象列表.

"Eclipse MAT Thread"

(7). 总结

在这里先对Eclipse MAT有一个大概的了解,后面有时间,并且,在不暴露企业数据的情况下,会拿取一些OOM的案例进行分析.
后会有时间的情况下,自己写代码,对dump文件进行解析.

(8). OOM排查经历

“Reactor Stream OOM排查过程”
“Apach HttpClient OOM排查过程”
“Fastjson OOM排查过程”