|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個軟體套件 下一個軟體套件 | 框架 無框架 |
請參見:
描述
類別摘要 | |
---|---|
PhantomReference<T> | 虛參考物件,在回收器確定其指示對象可另外回收之後,被加入佇列。 |
Reference<T> | 參考物件的抽象基礎類別。 |
ReferenceQueue<T> | 參考佇列,在檢測到適當的可到達性更改後,垃圾回收器將已註冊的參考物件添加到該佇列中。 |
SoftReference<T> | 軟參考物件,在回應記憶體需要時,由垃圾回收器決定是否清除此物件。 |
WeakReference<T> | 弱參考物件,它們並不禁止其指示物件變得可終結,並被終結,然後被回收。 |
提供了參考物件類別,支持在某種程度上與垃圾回收器之間的交互。程序可以使用一個參考物件來維持對另外某一物件的參考,所採用的方式是使後者仍然可以被回收器回收。程序還可以安排在回收器確定某一給定物件的可到達性已經更改之後的某個時間得到通知。
每種參考物件型別都是通過抽象的基本
類別的一個子類別實作的。其中一個子類別的實例封裝了對特定物件的參考,該物件名為指示物件。每個參考對象都提供了獲取和清除該參考的方法。參考物件是不可變的,因此,除了清除操作之外,沒有提供 Reference
set
操作。通過添加任何所需的欄位和方法,程序可以為這些子類別進一步創建子類別,或者可以不加更改地使用這些子類別。
ReferenceQueue
類別實作的。
已註冊的參考對象及其佇列之間的關係是單向的。也就是說,佇列不會追蹤那些向它註冊的參考。如果一個已註冊的參考本身變得不可到達,則永遠不會將它加入到佇列中。使用參考物件的程序的責任是,確保物件是可達到的,只要程序對其指示物件感興趣。
雖然某些程序會選擇專門使用一個執行緒從一個或多個佇列中移除參考對象並處理它們,但這是絕對沒有必要的。一種通常很有用的策略是:在執行另一個相當頻繁的操作期間檢查參考佇列。例如,使用弱參考來實作弱鍵的雜湊表能在每次存取表時輪詢其參考佇列。這就是
類別的工作方式。因為 WeakHashMap
方法僅僅檢查內部資料結構,此檢查只為雜湊表存取方法增加了很小的系統開銷。
ReferenceQueue.poll
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個軟體套件 下一個軟體套件 | 框架 無框架 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。