使用弱引用是我从未见过的实现,所以我试图弄清楚它们的用例是什么以及实现如何工作.什么时候需要使用WeakHashMap或者WeakReference它是如何使用的?
Java允许编写:
new PhantomReference(new Object(), null)
Run Code Online (Sandbox Code Playgroud)
在这种情况下new Object()将被收集?
据我了解,幻影引用是finalize() 方法使用的替代方法。
在队列中出现引用后,我需要执行一些其他操作,然后运行 clear()
Java Doc保留:
可以使用空队列创建幻影引用,但是这种引用完全没有用:其get方法将始终返回null,并且由于它没有队列,因此永远不会入队。
如果它永远不会被排队,那意味着什么?
据我了解,这意味着在完成方法调用后,引用不会再添加到referenceQueue中。因此可能导致:
1.对象存储器将立即被清除
2.对象存储器将不会被清除
哪种情况正确?