JVM的垃圾回收算法有哪些

标记清除算法

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

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

标记整理算法

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

复制算法

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

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

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

相关推荐
2501_9411112415 小时前
C++与自动驾驶系统
开发语言·c++·算法
2501_9411116915 小时前
C++中的枚举类高级用法
开发语言·c++·算法
jz_ddk15 小时前
[算法] 算法PK:LMS与RLS的对比研究
人工智能·神经网络·算法·信号处理·lms·rls·自适应滤波
Miraitowa_cheems16 小时前
LeetCode算法日记 - Day 106: 两个字符串的最小ASCII删除和
java·数据结构·算法·leetcode·深度优先
旭编16 小时前
小红的好矩形
c++·算法
小白程序员成长日记16 小时前
2025.11.12 力扣每日一题
算法·leetcode·职场和发展
Alex艾力的IT数字空间16 小时前
设计既保持高性能又兼顾可移植性的跨平台数据结构
数据结构·分布式·算法·微服务·中间件·架构·动态规划
leoufung16 小时前
贪心算法核心定理与应用——以 Gas Station 问题为例
算法·贪心算法
2501_9411114016 小时前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python
2501_9411114616 小时前
C++与硬件交互编程
开发语言·c++·算法