弱引用和虚引用的区别就在于被加入队列的条件不同,这里主要侧重于考虑对象所属的类重写了finalize方法,将对象的状态归纳为三种:finalizable, finalized、reclaimed,分别代表:未执行finalize函数、已经执行finalize函数,已经回收。如果没有重写finalize函数的话下面再考虑。 虚引用必须和一个ReferenceQueue联合使用,当GC准备回...