[問題] WeakReference vs PhantomReference

看板java作者 (pcman)時間8年前 (2017/05/29 13:46), 8年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
想請問以下這個Code,最後印出的In queue: null, 到底是WeakReference在成為garbage collection對象後,產生的? 還是PhantomReference產生的? https://pastebin.com/eAsBcuPq 我比較有疑問的是 我本來以為是WeakReference產生的,所以我試著 把PhantomReference那段註解掉,只純粹呼叫checkQueue() 譬如: https://pastebin.com/d70XykSq 但就什麼都沒有列印出來了 想跟大家請教一下這方面的觀念,感謝! 我目前對這兩者的理解差別在於: WeakReference是在成為garbage collection candidate時就會放入ReferenceQueue中, 也就是之後才會再執行finalize()等方法 PhantomReference是在完全清空後才會放入ReferenceQueue中 參考網址: https://goo.gl/lI1mD5 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.143.71 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1496036810.A.6AA.html ※ 編輯: uopsdod (180.217.143.71), 05/29/2017 13:48:48 ※ 編輯: uopsdod (180.217.143.71), 05/29/2017 13:51:04
文章代碼(AID): #1PAxNAQg (java)
文章代碼(AID): #1PAxNAQg (java)