news 2026/3/26 18:27:08

Java中有哪些垃圾回收算法?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java中有哪些垃圾回收算法?

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

1.标记-清除算法

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

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

2.复制算法

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

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

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

3.标记-整理算法

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

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

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

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/15 6:06:26

PO、VO、BO、DTO、DAO、POJO有什么区别?

PO(Persistent Object)持久化对象,主要用于和数据库交互,是数据库数据在内存中的镜像。 VO(View Object)视图对象,和前端展示强相关,按需组装前端需要的字段。 BO(Busine…

作者头像 李华
网站建设 2026/3/16 10:03:58

大数据领域Zookeeper的集群配置自动化工具推荐

大数据基石的"自动建筑师":Zookeeper集群配置自动化工具深度解析 关键词 Zookeeper集群、配置自动化、Ansible、Kubernetes Operator、云原生运维、分布式协调、故障容错 摘要 在大数据生态中,Zookeeper作为分布式系统的"协调大脑"&…

作者头像 李华
网站建设 2026/3/17 0:32:53

ArcGIS土地利用现状图制作全流程

将之前《ArcGIS Pro从0到1制作广东省土地利用现状图》直播回重新录制一遍给大家学习。详见下方视频教学 主要涉及的内容包括:ArcGIS土地利用现状图全流程教学(从零数据下载、镶嵌、裁剪、属性表连接整理、面积区域汇总计算、地图全流程制作) …

作者头像 李华
网站建设 2026/3/20 15:44:58

题解:AT_iroha2019_day3_f 闇のカードゲーム

AT_iroha2019_day3_f 闇のカードゲーム 题目描述 桌上整齐地摆放着 NNN 张卡片(NNN 为奇数),每张卡片上有一个正整数。卡片按整数从小到大排列,位于第 iii 张卡片上的整数为 aia_iai​。不同的卡片上不会有相同的整数。 すぬけ君和…

作者头像 李华