JavaTM 2 Platform
Standard Ed. 6

java.lang.ref
類別 PhantomReference<T>

java.lang.Object
  繼承者 java.lang.ref.Reference<T>
      繼承者 java.lang.ref.PhantomReference<T>

public class PhantomReference<T>
extends Reference<T>

虛參考物件,在回收器確定其指示對象可另外回收之後,被加入佇列。虛參考最常見的用法是以某種可能比使用 Java 終結機制更靈活的方式來指派 pre-mortem 清除動作。

如果垃圾回收器確定在某一特定時間點上虛參考的指示物件是虛可到達物件,那麼在那時或者在以後的某一時間,它會將該參考加入佇列。

為了確保可回收的物件仍然保持原狀,虛參考的指示物件不能被獲取:虛參考的 get 方法總是返回 null

與軟參考和弱參考不同,虛參考在加入佇列時並沒有通過垃圾回收器自動清除。通過虛參考可到達的物件將仍然保持原狀,直到所有這類別參考都被清除,或者它們都變得不可到達。

從以下版本開始:
1.2

建構子摘要
PhantomReference(T referent, ReferenceQueue<? super T> q)
          創建一個參考給定物件的新的虛參考,並向給定佇列註冊它。
 
方法摘要
 T get()
          返回此參考物件的指示物件。
 
從類別 java.lang.ref.Reference 繼承的方法
clear, enqueue, isEnqueued
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

PhantomReference

public PhantomReference(T referent,
                        ReferenceQueue<? super T> q)
創建一個參考給定物件的新的虛參考,並向給定佇列註冊它。

可能用一個 null 佇列創建虛參考,但這樣的參考是完全無用的:其 get 方法將總是返回 null,同時,因為它沒有佇列,所以將永遠無法把它加入佇列中。

參數:
referent - 新的虛參考將參考的物件
q - 將向其註冊參考的佇列,如果不需要註冊,則返回 null
方法詳細資訊

get

public T get()
返回此參考物件的指示物件。因為虛參考的指示物件總是不可到達的,所以此方法總是返回 null

覆寫:
類別 Reference<T> 中的 get
返回:
null

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only