JVM的垃圾回收算法有哪些

标记清除算法

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

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

标记整理算法

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

复制算法

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

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

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

相关推荐
2501_941865634 小时前
从事件驱动到异步架构的互联网工程语法构建与多语言实践分享
java·开发语言·jvm
Swift社区11 小时前
LeetCode 465 最优账单平衡
算法·leetcode·职场和发展
聆风吟º11 小时前
【数据结构手札】空间复杂度详解:概念 | 习题
java·数据结构·算法
weixin_4450547211 小时前
力扣热题51
c++·python·算法·leetcode
地平线开发者11 小时前
linux 常见稳定性问题分析方法
算法·自动驾驶
s砚山s11 小时前
代码随想录刷题——二叉树篇(九)
算法
地平线开发者11 小时前
大模型常见量化方法简介
算法·自动驾驶
她和夏天一样热12 小时前
【观后感】Java线程池实现原理及其在美团业务中的实践
java·开发语言·jvm
czlczl2002092513 小时前
深入解析 ThreadLocal:架构演进、内存泄漏与数据一致性分析
java·jvm·架构
smj2302_7968265214 小时前
解决leetcode第3801题合并有序列表的最小成本
数据结构·python·算法·leetcode