An object is considered garbage when there are no longer any references to it stored in any variables, the fields of any objects, or the elements of any arrays.
PhantomReference用来调度一些预验清理动作,提供比Java清理机制更灵活的处理方式。(Phantom references are for scheduling pre-mortem cleanup actions in a more flexible way than is possible with the Java finalization mechanism.)