WeakReference
在一段代码中,如果希望能随时取得所创建的对象的信息,但又不影响此对象的垃圾收集,那么应该用WeakReference来保存该对象,而不是用一般的Reference。
MyObject obj = new MyObject(); WeakReference wr = new WeakReference(obj); obj = null;// obj对象将会被垃圾回收 ... if (wr.get() == null) { System.out.println("obj已经被清除"); } else { System.out.println("obj尚未被清除,其信息为:" + obj.toString()); } ...
get()可以取得此WeakReference所指向的对象,如果该对象值为null的话,代表此对象已经被清除。