JVM的垃圾回收算法有哪些

标记清除算法

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

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

标记整理算法

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

复制算法

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

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

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

相关推荐
X journey2 小时前
机器学习进阶(13):支持向量机SVM
算法·机器学习·支持向量机
洛水水3 小时前
【力扣100题】30.二叉树的直径
算法·leetcode·职场和发展
gihigo19983 小时前
Bezier曲线曲面生成算法
算法
平行侠4 小时前
024多精度大整数 - 突破硬件精度限制的任意精度运算
数据结构·算法
IronMurphy5 小时前
【算法四十五】139. 单词拆分
算法
weixin_444012935 小时前
c++如何将std--vector直接DUMP到二进制文件_指针地址直写【附代码】
jvm·数据库·python
洛水水6 小时前
【力扣100题】32.将有序数组转换为二叉搜索树
数据结构·算法·leetcode
woxihuan1234566 小时前
Go语言中--=运算符详解:位右移赋值操作的原理与应用
jvm·数据库·python
如竟没有火炬6 小时前
用队列实现栈
开发语言·数据结构·python·算法·leetcode·深度优先
m0_690825826 小时前
如何备份被破坏的数据表_强制跳过错误的导出尝试
jvm·数据库·python