我還沒有使用PhantomReferences。似乎很少有真實世界使用的好例子。當PhantomReference/SoftReference/WeakReference排隊時,您如何知道它所指的是什麼?
當你的隊列中出現一個幻像時,你怎麼知道它是哪個對象? get()方法似乎沒用。據the JavaDoc,
因爲虛引用的指示對象總是不可訪問, 此方法始終返回null。
我認爲,除非你的對象是單身,你總是想用幻影的子,在你把你爲了瞭解死亡需要的任何紀念品。
這是正確的,還是我錯過了什麼?
對於SoftReferences,這也是如此嗎? 對於WeakReferences?
鏈接到相關的使用例子會很好。
第一次也是最後一次我碰到幻影引用是在我的學位,這是我的主管的意見,他們很漂亮很無用。 – lynks
我想知道他是否想過繼承這個參考。 –
@lynks,他們不是無用的,你可以創建自己的終結者 - 與他們一樣。具有一些可運行的子類(impl。或refer)是一種常用的方法。或者,您可以使用身份映射幻影 - >運行。 'sun.misc.Clearner'是在java 1.4中引入的,有利於最終化,所有的DirectBuffers都使用它。 – bestsss