该算法有两步,首先是将需要清理的内存空间标记,第二步将是其清理。
优点是简单;缺点是效率不高,易造成内存碎片,使大对象无法存储。
将内存分为两块,一块用于使用,一块用于复制存活对象。优点是能够解决标记清理效率低的问题,减少内存碎片。缺点是该算法的内存利用率只有一半。minorGC一般都采用复制算法。
首先需要清理的内存空间标记,让存活对象向一端移动,最后统一回收。
优点:解决复制算法内存利用率低的问题吗,减少内存碎片。缺点:增加了存活对象移动的开销。majorGC一般采用这种算法。
以上三种算法的使用组合,根据新生代和老年代选用不同的算法,能够提高效率。通常是fullgc使用。
因篇幅问题不能全部显示,请点此查看更多更全内容