JVM的垃圾回收算法有哪些

标记清除算法

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

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

标记整理算法

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

复制算法

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

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

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

相关推荐
2401_87969387几秒前
使用Python进行图像识别:CNN卷积神经网络实战
jvm·数据库·python
yunyun321237 分钟前
机器学习模型部署:将模型转化为Web API
jvm·数据库·python
FluxMelodySun10 分钟前
机器学习(二十五) 降维:主成分分析(PCA)及特征值分解
人工智能·算法·机器学习
liuyao_xianhui27 分钟前
优选算法_分治_快速排序_归并排序_C++
开发语言·数据结构·c++·算法·leetcode·排序算法·动态规划
亓才孓1 小时前
JVM讲解
jvm
我真会写代码1 小时前
深入理解JVM堆体系:分代空间与内存管理核心逻辑
jvm
顶点多余1 小时前
进程间通信 --- 共享内存篇(通信速度最快)
linux·服务器·jvm
爱丽_1 小时前
ThreadLocal 机制:弱引用 Entry、内存泄漏、线程池复用与线上排查
java·jvm·算法
2301_815482931 小时前
C++编译期矩阵运算
开发语言·c++·算法
Sunshine for you2 小时前
如何用FastAPI构建高性能的现代API
jvm·数据库·python