我正在查看这个类java.lang.ref.Reference
(以及它的子类),我想知道为什么它没有实现 Java 8 的Supplier<T>
接口。
看来这应该是不费吹灰之力。供应商的get()
方法满足Reference
。我犹豫要实现SoftReference<T>
自己的扩展的唯一原因Supplier<T>
是因为我知道References
垃圾收集器是特殊情况。
制作这样的课程有什么问题可以预见吗
public class SoftReferenceSupplier<T> extends SoftReference<T> implements Supplier<T>
{
public SoftReferenceSupplier(T referent)
{
super(referent);
}
public SoftReferenceSupplier<T referent, ReferenceQueue<? super T> queue)
{
super(referent,queue);
}
}
我不想以某种方式破坏 SoftReferences 的目的,因为一些垃圾收集警告会干扰供应商的处理方式。
顺便说一句,我知道SoftReferences
将null
在完整的垃圾收集后返回。我的程序有需求SoftReferences
,我想让它实现这个功能接口以增加灵活性。