JProfiler和JavaVisualVM分析Heap dump文件
下面将介绍利用常见的两个工具分析Heap dump文件。
接下来分析的heap dump文件,都是由于下面的代码引起的内存泄漏。
List<Integer> temp = new ArrayList<>();
for(int i=0;i>=0;i++){
temp.add(i);
}
1、JProfiler分析heap dump
JProfiler打开->“Open Snapshot”—>找到dump文件—>查看“Heap walker”。
右击,选择这一个References。
这个基本能看出来是ArrayList引起的问题。
2、Java VisualVM分析heap dump
文件—>装入,选择heap dump文件
点击“ 导致 OutOfMemoryError 异常错误的线程”,会跳转到异常部分
很清晰直观定位到哪个方法。