☰
Java中有哪些垃圾回收算法?
2026/11/1 22:48:38 网站建设 项目流程

Java中的垃圾回收算法主要有3种,分别是标记-清除算法、复制算法、标记-整理算法。

1.标记-清除算法

这种算法的逻辑其实很简单,就是先遍历一遍,把有用的东西都打个勾✅(标记),然后把那些没打勾的垃圾直接扔掉(清除)。

不过,这种算法存在一个缺点,就是会留下内存碎片。

2.复制算法

复制算法可以很好地解决内存碎片问题,这种算法是把内存一分为二,平时只用一半。

回收的时候,会把活着的对象全部复制到另一半去,然后把原来的那一半直接清空。

这种算法的优点是快,可以保证没有碎片,但是需轮流着一半的空间不能用,太浪费空间了。

3.标记-整理算法

标记-整理算法是老年代常用的算法。

对老年代的对象,因为存活的时间长,如果采用复制算法,需要复制一大堆,速度太慢;

但是,标记-清除又会产生碎片。

所以,标记-整理算法是先进行标记,然后把所有活着的对象往一端推,再把剩下的空间全部清空。

通过这种方式,既不会产生碎片,也不会浪费掉一半的空间,不过,把所有活着的对象往一端推这个整理的动作会比较耗时。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询