入队时,将清除软引用,因为软引用的主要用途是允许缓存大型对象,而清除软引用则允许对大型缓存的对象进行垃圾回收。
弱引用在入队时会被清除,因为弱引用的主要用途是允许一个对象引用一个对象而不阻止其被垃圾回收,因此,一旦对象被排队,清除引用就可以对该对象进行垃圾回收。
幻像引用入队后不会清除,因为幻像引用的一种使用情况是允许在垃圾回收对象之前执行清理。通过不清除引用,该对象将保持幻像可访问的状态(并且不符合垃圾收集的条件),直到用户清除对该对象的PhantomReference或PhantomReference本身就是垃圾收集为止。
这在这里解释,
如果对象既不是强的,软的也不是弱的,并且已被终结,并且有一些幻像引用对其进行引用,则它是幻像可到达的。
最后,当对象无法通过上述任何一种方式到达时,它是不可到达的,因此有资格回收。



