如何dump堆,并且进行分析

1.代码准备

Point类:

如何dump堆,并且进行分析_第1张图片

Line类:

如何dump堆,并且进行分析_第2张图片

测试类:

如何dump堆,并且进行分析_第3张图片

2.dump堆

(1)运行main方法

(2)jps -l 找到对应java进程


如何dump堆,并且进行分析_第4张图片

29665是我们main方法对应的java进程,用jmap来dump堆:


3.打开MAT分析

(1)导入.hprof文件

如何dump堆,并且进行分析_第5张图片
1

(2)点击Group by package(要先点立方图标,才会出现红框里的方框图标)


如何dump堆,并且进行分析_第6张图片

(3)根据package查看


如何dump堆,并且进行分析_第7张图片

查看with outgoing references(Point实例的引用对象):


如何dump堆,并且进行分析_第8张图片

查看with ingoing references(Point实例的引用对象):

如何dump堆,并且进行分析_第9张图片

你可能感兴趣的:(如何dump堆,并且进行分析)