关于JVM案例分析(一)
准备模拟内存泄漏样例 1、定义静态变量HashMap 2、分段循环创建对象,并加入HashMap 代码如下: import java.util.HashMap; import java.util.Map; public class CyclicDependencies { //声明缓存对象 private static final Map map = new HashMap(); public static void main(String args[]){ try { Thread.sleep(10000);//给打开visualvm时间 } catch (InterruptedException e) { e.printStackTrace(); } //循环添加对象到缓存 for(int i=0; i<1000000;i++){ TestMemory t = new TestMemory(); map.put("key"+i,t); } System.out.println("first"); //为dump出堆提供时间 try { Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } for(int i=0; i<1000000;i++){ TestMemory t =