java - 弱引用有实际用途吗?

标签 java garbage-collection weak-references

Possible Duplicate:
Weak references - how useful are they?

既然垃圾收集器可以随时声明弱引用,那么使用它们有什么实际理由吗?

最佳答案

如果您想保留对某些东西的引用,只要它在其他地方使用,例如一个监听器,你可以使用弱引用。

WeakHashMap 可用作派生数据的键的短暂缓存。它还可以用于保存有关在其他地方使用的对象的信息,并且您不知道这些对象何时被丢弃。

顺便说一句,软引用类似于弱引用,但它们并不总是会立即被清除。 GC 总是会在可能的情况下丢弃弱引用,并在可能的情况下保留软引用。

还有另一种引用,称为幻影引用。这在 GC 清理过程中使用,指的是“正常”代码无法访问的对象,因为它正在清理过程中。

关于java - 弱引用有实际用途吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8790511/

相关文章:

java - 解析来自 Dentrix 桌面应用程序的信息

java - 从 Java 标准输入读取,无需轮询或不断读取,也不会浪费资源

java - 如何在java/android中将JPG图像转换为字符串

garbage-collection - 影子绑定(bind)会被 GCed 吗?

c# - 我可以创建一个 List<WeakReference<T>> 吗?

java - 使用 Wea​​kReference 的 Java 示例的线程安全

java - gradle junit 和错误 : cannot find symbol

c# - 跨越 AppDomain 边界的垃圾收集对象

garbage-collection - 如何在过多的 GC 中尽快 OOM?

garbage-collection - 垃圾收集器如何决定何时杀死 WeakReferences 持有的对象?