作者uopsdod (pcman)
看板java
标题[问题] WeakReference vs PhantomReference
时间Mon May 29 13:46:46 2017
想请问以下这个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://webptt.com/cn.aspx?n=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