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的话,代表此对象已经被清除。

posted on 2012-10-31 20:56  jasonyso  阅读(172)  评论(0编辑  收藏  举报

导航