垃圾回收算法有哪些

1.标记-清除算法:

该算法有两步,首先是将需要清理的内存空间标记,第二步将是其清理。

优点是简单;缺点是效率不高,易造成内存碎片,使大对象无法存储。


2.复制算法:

将内存分为两块,一块用于使用,一块用于复制存活对象。优点是能够解决标记清理效率低的问题,减少内存碎片。缺点是该算法的内存利用率只有一半。minorGC一般都采用复制算法。


3标记-整理算法:

首先需要清理的内存空间标记,让存活对象向一端移动,最后统一回收。

优点:解决复制算法内存利用率低的问题吗,减少内存碎片。缺点:增加了存活对象移动的开销。majorGC一般采用这种算法。


4.分代算法:

以上三种算法的使用组合,根据新生代和老年代选用不同的算法,能够提高效率。通常是fullgc使用。

你可能感兴趣的:(JAVA,java,jvm,算法)