1:分代收集算法
堆内存的老年代和新生代使用不同的算法
2:复制算法
开辟两块一摸一样大小的内存空间,将原来存活的对象复制到新的空间,然后释放原内存空间
优点:执行快,效率高
缺点:因为要创建同样大小的内存,所以收集时内存消耗大
3:标记整理算法
对存活的对象进行标记,清楚未标记的对象
优点:收集时内存开销相对较小
缺点:如果对象过多,导致过于频繁的标记,性能下降
4:标记清楚算法
与标记整理算法相反,是标记了需要清除的对象,然后清楚有标记的对象
优点:收集时内存开销相对较小
缺点:如果对象过多,导致过于频繁的标记,性能下降