垃圾查找 1.基于计数器 对象有引用计数,计数为0的,可以被收集 2.基于有向图 从gc root(栈.静态变量.JNI 变量)遍历,能访问的对象,不用被收集,其他的,可以被收集 因为计数器不能解决 互相引用的问题,一般都不使用这种算法 目前商业JVM 都是使用有向图算法 来找垃圾 找到了垃圾,下面开始要回收了 垃圾回收 1.基于复制 把存活对象复制到其他区域,当前区域整体释放 2.基于标记-清除 先标记可回收对象,再释放被回收对象,这种情况下,有内存碎片 3.基于标记-整理 先标记可回收对象,