|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.lang.ref.Reference<T> java.lang.ref.SoftReference<T>
public class SoftReference<T>
軟參考物件,在回應記憶體需要時,由垃圾回收器決定是否清除此物件。軟參考物件最常用於實作記憶體敏感的快取記憶體。
假定垃圾回收器確定在某一時間點某個物件是軟可到達物件。這時,它可以選擇自動清除針對該物件的所有軟參考,以及通過強參考鏈,從其可以到達該物件的針對任何其他軟可到達物件的所有軟參考。在同一時間或晚些時候,它會將那些已經向參考佇列註冊的新清除的軟參考加入佇列。
軟可到達物件的所有軟參考都要保證在虛擬機器拋出 OutOfMemoryError
之前已經被清除。否則,清除軟參考的時間或者清除不同物件的一組此類別參考的順序將不受任何約束。然而,虛擬機器實作不鼓勵清除最近存取或使用過的軟參考。
此類別的直接實例可用於實作簡單快取記憶體;該類別或其派生的子類別還可用於更大型的資料結構,以實作更複雜的快取記憶體。只要軟參考的指示物件是強可到達物件,即正在實際使用的物件,就不會清除軟參考。例如,通過保持最近使用的項的強指示物件,並由垃圾回收器決定是否放棄剩餘的項,複雜的快取記憶體可以防止放棄最近使用的項。
建構子摘要 | |
---|---|
SoftReference(T referent)
創建參考給定物件的新的軟參考。 |
|
SoftReference(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 |
建構子詳細資訊 |
---|
public SoftReference(T referent)
referent
- 新的軟參考將參考的物件public SoftReference(T referent, ReferenceQueue<? super T> q)
referent
- 新的軟參考將參考的物件q
- 該參考向其註冊的佇列,如果不需要註冊,則為 null方法詳細資訊 |
---|
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。