软引用SoftReference的使用
SoftReference的主要特点就是在当
内存不够的时候,GC会回收SoftReference所引用的对象。
所以,在memory sensitive的项目中将某些数据设置成SoftReference可以避免内存的溢出。
public
class AC {
public static void main(String[] args) {
AC ac=new AC();
SoftReference sr=new SoftReference(ac);
List list=new ArrayList();
list.add(sr);
AC ab=(AC)((SoftReference)list.get(0)).get();
}
}
因为是SoftReference,有可能已经被GC回收了,
所以需要判断softReference.get()的返回值是否为null。如果是的话,就再重新new一个。