好,首先我们来看一下这里,给大家写了一个testSoftReference。
public void testSoftReference(){ User user = new User(1, "Andy"); //user对象保存在软引用里面 SoftReferenceuserSoft = new SoftReference (user); user = null;//干掉强引用 System.out.println(userSoft.get());//取user对象 System.gc();//调用gc回收内存 System.out.println("After gc"); System.out.println(userSoft.get()); //向堆中填充数据,导致OOM List list = new linkedList<>(); try{ for (int i=0; i<100; i++){ System.out.println("for====="+userSoft.get()); list.add(new byte[1024*1024*1]);//添加1M(兆)的byte数组 } }catch (Throwable e){ Syst
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)