泄露的三个常见来源:
1 过期引用
2 缓存(缓存应该时不时的清除掉没用的项)
3 监听器和其他回调
-----实例-----
1 静态集合类,虽然引用重新指向null,但是集合中的该元素依然指向原对象,原对象并没有被改变。
private static List list = new ArrayList(10);
private static Object[] arr = new Object[10];
public static void main(String[] args) {
Object object = new Object();
System.out.println(object);
list.add(object);
System.out.println(list.get(0));
System.out.println(list.get(0) == object);
object = null;
System.out.println(list.get(0));
System.out.println("list.size:" + list.size