使用 Java 的 ReferenceQueue
2022-09-01 14:11:00
是否并且真的仅在创建为实例变量时才有帮助?在方法范围内使用它们有什么好处吗?SoftReference
WeakReference
另一个重要部分是.除了能够跟踪哪些引用是确定的垃圾之外,还可用于强制注册垃圾回收对象?ReferenceQueue
Reference.enqueue()
例如,是否值得创建一个方法,该方法在对象中占用一些繁重的内存资源(由强引用持有)并创建引用以将它们排队?
Object bigObject;
public void dispose() {
ReferenceQueue<Object> queue = new ReferenceQueue<Object>();
WeakReference<Object> ref = new WeakReference<Object>(bigObject, queue);
bigObject = null;
ref.enqueue();
}
(想象一下,在这种情况下,Object 表示使用大量内存的对象类型...喜欢什么的)BufferedImage
这有什么现实效果吗?或者这只是浪费代码?