JVM的垃圾回收算法有哪些

标记清除算法

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

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

标记整理算法

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

复制算法

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

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

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

相关推荐
老鼠只爱大米8 小时前
LeetCode经典算法面试题 #148:排序链表(插入、归并、快速等五种实现方案解析)
算法·leetcode·链表·插入排序·归并排序·快速排序·链表排序
木井巳8 小时前
【递归算法】计算布尔二叉树的值
java·算法·leetcode·深度优先
睡一觉就好了。8 小时前
直接选择排序
数据结构·算法·排序算法
qq_423233908 小时前
实战:用Python开发一个简单的区块链
jvm·数据库·python
哈哈不让取名字8 小时前
分布式日志系统实现
开发语言·c++·算法
芬加达8 小时前
leetcode221 最大正方形
java·数据结构·算法
知无不研8 小时前
实现一个整形栈
c语言·数据结构·c++·算法
夏鹏今天学习了吗8 小时前
【LeetCode热题100(98/100)】子集
算法·leetcode·深度优先
DuHz8 小时前
用于汽车应用的数字码调制(DCM)雷达白皮书精读
论文阅读·算法·自动驾驶·汽车·信息与通信·信号处理