当前位置: 首页 > news >正文

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

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

1.标记-清除算法

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

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

2.复制算法

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

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

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

3.标记-整理算法

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

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

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

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

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

http://www.jsqmd.com/news/217057/

相关文章:

  • 【计算机毕业设计案例】基于python深度学习的印刷体数字和字母识别基于深度学习的印刷体数字和字母识别
  • Go 语言变量作用域
  • 二分搜索树的特性
  • 2026继续教育必备!9个降AI率工具测评榜单
  • 【苹果分级】机器视觉苹果质量检测及总分级系统【含GUI Matlab源码 14878期】
  • 深度洞察!认知计算与提示工程融合,提示工程架构师的关键要点
  • sqlite用的人多吗?
  • 【毕业设计】机器学习基于cnn识别微小细胞细菌细胞器
  • 【计算机毕业设计案例】人工智能基于python深度学习的猫狗表情识别
  • Chart.js 饼图:全面解析与实例教程
  • 瞧瞧别人家的Controller,那叫一个优雅
  • 【必学的 10 个认知模型】认知的本质,快速提高认知,与高认知的人同行。人与人差距的本质。【通用智慧】
  • 交通仿真软件:Aimsun_(13).行人与非机动车仿真
  • 致同提示:财政部等九部委联合发布《企业可持续披露准则第1号——气候(试行)》
  • SpringBoot 实现任意文件在线预览功能
  • 【人生分水岭】正复利与负复利重要的都有哪些?你不是缺努力,是缺“复利路径设计
  • 66.qemu设备树配置
  • 链表中倒数最后k个结点
  • 《P3228 [HNOI2013] 数列》
  • 42545
  • 一算钱领导就让用BigDecimal ,为什么它可以不丢失精度?
  • 用这套新工作流,把上线时间从半天压到3分钟
  • 删除链表的倒数第n个节点
  • 【毕业设计】机器学习 基于python深度学习的猫狗表情识别
  • 6784358
  • 【疾病识别】SVM农作物叶子虫害识别与分类【含GUI Matlab源码 14872期】
  • 两个链表的第一个公共结点
  • 深度学习毕设项目:基于CNN深度学习python的遥感图片识别沙漠湖泊和森林
  • 用这4招,优雅的实现Spring Boot 异步线程间数据传递
  • 【课程设计/毕业设计】基于python机器学习的猫狗表情识别