[问题] WeakReference vs PhantomReference

楼主: uopsdod (pcman)   2017-05-29 13:46:46
想请问以下这个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

Links booklink

Contact Us: admin [ a t ] ucptt.com