PhantomReference Java文档定义

时间:2019-06-20 10:22:36

标签: java garbage-collection phantom-reference

警告: 这是一个语言问题,但我100%肯定非技术人员将无法回答我。

关于PhantomReference的Java文档定义quote

  

虚拟参考对象,在收集器之后排队   确定可以否则收回其推荐人。幻影   引用最常用于安排事后清理   动作。假设垃圾收集器在某个点确定   在一个对象是幻影可达的时间。那时它将   原子清除该对象的所有幻像引用和所有幻像   引用从中引用的任何其他幻影可到达对象   对象是可到达的。在同一时间或以后   排队那些已注册的新清除的幻象引用   带有参考队列。

     

为了确保保留可回收对象,引用对象   的幻像引用可能无法检索:   幻像引用始终返回null。

我不明白第一句话。恰好我不理解第一句话中的否则的含义。从我的角度来看,它可能会被删除。但是我检查了Java doc中是否有以前的Java版本,并且自从Java 1.5以来,这句话一直没有改变。

根据我对这个主题的理解,我可以这样改写第一句话:

要创建PhantomReference,我们必须通过构造函数传递Referent和ReferenceQueue实例。当GC知道引用对象可能会被删除(它保留的内存可能是空闲的)时,它将与该引用对象相关的PhantomReference添加到ReferenceQueue对象。

是真的吗?
第一句话中其他方面的威胁是什么?

0 个答案:

没有答案