MAT分析内存泄露
Demo:
public class LeakDemo { private static final List holderList = new ArrayList(); public static void main(String[] args) throws InterruptedException { while (true) { LargeObject largeObject = new LargeObject(); holderList.add(largeObject); Thread.sleep(10); } } static class LargeObject { private byte[] data; public LargeObject() { this.data = new byte[1024 * 1024]; } }}
输出堆转储文件,用MAT进行分析:
Dominator Tree: