JVM的垃圾回收算法有哪些

标记清除算法

标记清除算法,是将垃圾回收分为2个阶段,分别是标记和清除

  1. 根据可达性分析算法得出的垃圾进行标记
  2. 对这些标记为可回收的内容进行垃圾回收
  • 优点:标记和清除速度较快
  • 缺点:碎片化较为严重,内存不连贯的

标记整理算法

优缺点同标记清除算法,解决了标记清除算法的碎片化的问题,同时,标记压缩算法多了一步,对象移动内存位置的步骤,其效率也有有一定的影响。老年代的垃圾回收器一般使用标记整理算法

复制算法

标记算法是将内存分成两块相等的区域,把标记的对象清除后,就会把存活的对象整理复制到另一块内存,一般年轻代的垃圾回收会采用复制算法

  • 优点
  1. 在垃圾对象多的情况下,效率较高
  2. 清理后,内存无碎片
  • 缺点

分配的2块内存空间,在同一个时刻,只能使用一半,内存使用率较低

相关推荐
珂朵莉MM12 分钟前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第一赛季优化题--无人机配送
人工智能·算法·无人机
xiaoxue..24 分钟前
列表转树结构:从扁平列表到层级森林
前端·javascript·算法·面试
代码游侠31 分钟前
复习——线程(pthread)
linux·运维·开发语言·网络·学习·算法
papaofdoudou40 分钟前
基于QEMU 模拟intel-iommu的sva/svm demo环境搭建和验证
算法·机器学习·支持向量机
再__努力1点40 分钟前
【78】HOG+SVM行人检测实践指南:从算法原理到python实现
开发语言·人工智能·python·算法·机器学习·支持向量机·计算机视觉
scx2013100444 分钟前
20251214 字典树总结
算法·字典树
leiming61 小时前
MobileNetV4 (MNv4)
开发语言·算法
YGGP1 小时前
【Golang】LeetCode 136. 只出现一次的数字
算法·leetcode
YGGP1 小时前
【Golang】LeetCode 169. 多数元素
算法·leetcode
顾安r1 小时前
11.20 脚本网页 数学分支
算法·数学建模·html