1.复制算法
从根集合开始扫描,将存活对象移动到一块空闲区域,主要在新生代使用.
2.标记-清除算法
初始标记->并发标记->重新标记->并发清除
从根集合进行扫描,对存活对象进行标记,标记完毕后,再扫描整个空间中的未标记对象进行清除。效率高,会产生内存碎片。
初始标记和重新标记会 stop the world
3.标记-整理算法
初始标记->并发标记->最终标记->筛选回收
从根集合进行扫描,对存活对象进行标记,标记完毕后,再扫描整个空间中的未标记对象进行清除,清除完后将所有存活对象移动到左端空闲区域,并更新引用对象的指针。不会产生内存碎片。