1. 程式人生 > >你不可不知的Java引用型別之——PhantomReference原始碼詳解

你不可不知的Java引用型別之——PhantomReference原始碼詳解

定義

PhantomReference是虛引用,該引用不會影響不會影響物件的生命週期,也無法從虛引用中獲取物件例項。

說明

原始碼介紹部分其實也沒多大內容,主要內容都在前面介紹中說完了。PhantomReference類的原始碼和WeakReference類一樣簡單:

public class PhantomReference<T> extends Reference<T> {
    public T get() {
        return null;
    }

    /**
     * 這裡傳入的引用佇列也可以為null,但是這樣的引用沒有任何意義,因為永遠不會入隊
     */
    public PhantomReference(T referent, ReferenceQueue<? super T> q) {
        super(referent, q);
    }
}

可以看到,get方法直接返回null,有一個兩個引數的構造方法,傳入被引用的物件和引用佇列。

那麼,這篇也先告一段落吧。