判断对象是否被回收是垃圾回收(GC)机制的核心功能之一。主要有以下几种GC算法来完成这一任务,各种算法在不同的虚拟机中有不同的应用场景和优化策略: 1. 引用计数法(Reference Counting) 解释: 每个对象维护一个引用计数器,记录有多少引用指向该对象。当有新的引用指向该对象时,计数器加一;当引用失效时,计数器减一。任何引用计数为零的对象可以立即被回收。 优点: 简单,高效,能够及时回收内存。 缺点: 无法解决循环引用的问题。例如,两个对象互相引用但不再被其他对象引用时,计数器不会归零,导致无法回收。 Class A{B b; }class B