213得票7回答
Java:强引用/软引用/弱引用/虚引用的区别

我已经阅读了关于Java中不同类型引用(强、软、弱、虚)的这篇文章,但我并不是很理解。 这些引用类型有什么区别,每种类型应该在什么情况下使用?

82得票4回答
了解Java的引用类:SoftReference、WeakReference和PhantomReference。

有人能解释一下这三个引用类之间的区别吗(或者发一个好的解释的链接)?SoftReference > WeakReference > PhantomReference,但是我什么时候该使用每种引用呢?为什么有一个WeakHashMap,但没有SoftHashMap或PhantomHashMap?...

18得票1回答
何时在Java中使用虚引用?

我已经了解了不同类型的引用,了解强引用、软引用和弱引用的工作原理。 但是当我读到幽灵引用时,我并不能真正理解它们。可能是因为我找不到任何好的示例来展示它们的目的或者何时使用它们。 你能否给我展示一些使用幽灵引用的代码示例呢?

9得票2回答
如何使用虚引用作为finalize()的替代方法

Javadoc 8中的PhantomReference表示: 幻影引用通常用于以比Java终结机制更灵活的方式安排临终清理操作。 因此,我尝试创建一个调用Test对象的close()方法的线程,该对象符合垃圾回收的条件。run()方法试图获取所有的Test对象,在临终之前就被抓住了。 实...

8得票1回答
使用通用的PhantomReference类删除本地对等体

如Google I/O '17演讲“如何在Android中管理本机C++内存”中的Hans Boehm建议,我使用PhantomReference类确保本机对等体被正确删除。 在18分57秒的链接视频中,他展示了一个对象将自身注册到其类型的PhantomReference类的示例实现。他在1...

8得票4回答
何时在Java中使用弱引用和虚引用

我阅读了很多文章,但是不明白——在实践中,我什么时候需要使用弱引用(Weak References)和虚引用(Phantom References)?据我所知,软引用(Soft References)是缓存的好选择。但是弱引用和虚引用,我不知道什么时候使用。请提供一些实际任务的示例,我们需要在...

8得票6回答
幽灵引用对象

幽灵引用用于死后操作。 Java规范指出,幽灵引用对象将不会被释放,直到幽灵引用本身被清除。 我的问题是:这个特性(对象不被释放)有什么作用? (我唯一想到的想法是允许本地代码对对象进行死后清理,但这并不太令人信服。)

7得票1回答
理解Phantom引用与弱引用相对于引用队列的区别

根据链接https://weblogs.java.net/blog/enicholas/archive/2006/05/understanding_w.html,只有当对象从内存中被物理删除时,PhantomReferences才会排队,而在最终确定或垃圾回收实际发生之前,WeakRefere...