相关疑难解决方法(0)

你什么时候使用WeakHashMap或WeakReference?

使用弱引用是我从未见过的实现,所以我试图弄清楚它们的用例是什么以及实现如何工作.什么时候需要使用WeakHashMap或者WeakReference它是如何使用的?

java weak-references

161
推荐指数
5
解决办法
6万
查看次数

空队列的PhantomReference

Java允许编写:

new PhantomReference(new Object(), null)
Run Code Online (Sandbox Code Playgroud)

在这种情况下new Object()将被收集?

据我了解,幻影引用是finalize() 方法使用的替代方法。

在队列中出现引用后,我需要执行一些其他操作,然后运行 clear()

Java Doc保留:

可以使用空队列创建幻影引用,但是这种引用完全没有用:其get方法将始终返回null,并且由于它没有队列,因此永远不会入队。

如果它永远不会被排队,那意味着什么?

据我了解,这意味着在完成方法调用后,引用不会再添加到referenceQueue中。因此可能导致:
1.对象存储器将立即被清除
2.对象存储器将不会被清除

哪种情况正确?

java garbage-collection phantom-reference finalization

3
推荐指数
1
解决办法
254
查看次数