虛引用有哪些應用?
虛引用需要 java. langref.PhantomReference 類來實現。
顧名思義, 就是形同虛設, 與其他幾種引用都不同, 虛引用并不會決定對象的生命周期。
如果一個對象僅被虛引用持有, 那么它就和沒有任何引用一樣, 在任何時候都可能被垃圾回收器回收。
它不能單獨使用也不能通過它訪問對象, 虛引用必須和引用隊列 (Reference queue) 聯合使用。
虛引用的主要作用是跟蹤對象被垃圾回收的狀態。僅僅是提供了一種確保對象被 finalize 以后, 做某些事情的機制。
PhantomReference 的 get 方法總是返回 null, 因此無法訪問對應的引用對象。
使用它的意義在于說明一個對象已經進入 finalization 階段, 可以被回收, 用來實現比 finalization 機制更靈活的回收操作
換句話說, 設置虛引用關聯的唯一目的, 就是在這個對象被收集器回收的時候收到一個系統通知或者后續添加進一步的處理;
下一篇css表格字體設置