java.lang.Object
java.lang.ref.Reference <T>
java.lang.ref.SoftReference<T>
- 类型参数:
T- 对象的类型
软引用对象,由垃圾收集器根据内存需求自行清除。软引用最常用于实现对内存敏感的缓存。
假设垃圾收集器在某个时间点确定一个对象是 轻轻触及 。那时它可能会选择以原子方式清除对该对象的所有软引用以及对任何其他可通过强引用链访问该对象的任何其他可软访问对象的软引用。同时或在稍后的某个时间,它会将那些在引用队列中注册的新清除的软引用排入队列。
在虚拟机抛出 OutOfMemoryError 之前,保证已清除对软可达对象的所有软引用。否则,对清除软引用的时间或清除对不同对象的一组此类引用的顺序没有任何限制。然而,鼓励虚拟机实现偏向于清除最近创建或最近使用的软引用。
此类的直接实例可用于实现简单的缓存;此类或派生子类也可用于更大的数据结构以实现更复杂的缓存。只要软引用的引用对象是强可达的,即实际在使用中,软引用就不会被清除。因此,一个复杂的缓存可以,例如,通过保持对这些条目的强引用来防止其最近使用的条目被丢弃,而让剩余的条目由垃圾收集器自行决定丢弃。
- 自从:
- 1.2
-
构造方法总结
构造方法构造方法描述SoftReference(T referent) 创建引用给定对象的新软引用。SoftReference(T referent, ReferenceQueue<? super T> q) 创建一个引用给定对象并注册到给定队列的新软引用。 -
方法总结
在类 java.lang.ref.Reference 中声明的方法
clear, clone, enqueue, isEnqueued, reachabilityFence, refersTo