JVM的垃圾回收算法有哪些

标记清除算法

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

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

标记整理算法

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

复制算法

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

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

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

相关推荐
grant-ADAS13 分钟前
Overlay套刻测量
算法
猿长大人17 分钟前
算法 | Douglas-Peucker 拯救“腰椎间盘突出的三角形”
算法
HackTorjan35 分钟前
深度解析雪花算法及其高性能优化策略
人工智能·深度学习·算法·性能优化·dreamweaver
2401_8314194435 分钟前
CSS 悬停箭头闪烁下移问题的根源与稳定解决方案
jvm·数据库·python
北顾笙98041 分钟前
day35-数据结构力扣
数据结构·算法·leetcode
cpp_25011 小时前
P2249 【深基13.例1】查找
数据结构·c++·算法·题解·二分·洛谷
烤麻辣烫1 小时前
算法--二分搜索
java·开发语言·学习·算法·intellij-idea
2401_833033621 小时前
c++如何实现简单的文件签名验证_HMAC-SHA1算法应用【进阶】
jvm·数据库·python
qq_392690661 小时前
SQL报表查询标准规范_SQL书写规范优化
jvm·数据库·python
山甫aa2 小时前
二叉树算法-----从零开始的算法
数据结构·算法