java虚拟机四种垃圾收集算法:标记清除,复制,标记整理,分代收集算法

java虚拟机四种垃圾收集算法:标记清除,复制,标记整理,分代收集算法

1.标记清除算法

首先标记出所有需要回收的对象,在标记完成之后统一回收清除。缺点是效率低,会产生大量不连续的内存碎片。

2.复制算法

首先将内存分为两块,当其中一块用完之后,将还活着的对象复制到另一块,清空原来的半块。缺点是将内存空间缩小为了一半。可以用这种方法回收新生代。

3.标记整理算法

前面的思路和标记清除算法相同,后面不直接清理,而是让存活的对象向一端移动,然后直接清理掉边界以外的内存。适用于老年代。

4.分代收集算法

将java堆分为新生代和老年代,新生代总是需要回收,剩下的对象不会太多,所以新生代采用复制算法。老年代不太动用,所以可以采用标记整理算法。总的来说就是新生代和老年代采用不同的算法。

发布了415 篇原创文章 · 获赞 434 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/qq_41901915/article/details/103526906