JVM的垃圾回收算法有哪些

标记清除算法

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

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

标记整理算法

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

复制算法

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

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

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

相关推荐
qq_432703663 分钟前
MySQL中如何编写带有循环的函数_MySQL函数流程控制技巧
jvm·数据库·python
LiAo_1996_Y3 分钟前
如何保证MongoDB文档的数据质量_JSON Schema验证规则配置
jvm·数据库·python
qq_3729069312 分钟前
Python最短路径怎么求_Dijkstra算法与优先队列结合
jvm·数据库·python
qq_3300379912 分钟前
如何查看集群版本_crsctl query crs activeversion当前版本
jvm·数据库·python
鲸渔14 分钟前
【C++ 跳转语句】break、continue、goto 与 return
开发语言·c++·算法
AI科技星14 分钟前
基于螺旋元逻辑的宇宙统一场论底层公理构建(乖乖数学)
算法·机器学习·数学建模·数据挖掘·量子计算
214396526 分钟前
golang如何使用expvar暴露运行时指标_golang expvar运行时指标暴露步骤
jvm·数据库·python
qiqsevenqiqiqiqi38 分钟前
MC0550鱼肠剑试锋芒
数据结构·算法
仍然.39 分钟前
算法题目---链表
数据结构·算法·链表
weixin_4249993639 分钟前
如何用SQL按条件计算移动求和_结合CASE与窗口函数
jvm·数据库·python