JVM中的垃圾收集算法

标记-清除算法

首先标记出所有需要回收的对象,在标记完成后,统一回收掉所有被标记的对象,也可以反过来,标记存活的对象,统一回收所有未被标记的对象。标记过程就是对象是否属于垃圾的判定过程

缺点

  • 第一个是执行效率不稳定

  • 第二个是内存空间的碎片化问题

标记-复制算法

它将可用 内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着 的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。

优点:

  • 实现简单,运行高效

缺点:

  • 可用内存缩小为了原来的一半

标记-整理算法

其中的标记过程仍然与"标记-清除"算法一样,但后续步骤不是直接对可 回收对象进行清理,而是让所有存活的对象都向内存空间一端移动,然后直接清理掉边界以外的内存

优点:

  • 可以解决内存碎片问题,并且不需要暂停应用程序运行

缺点:

  • 需要大量的时间和空间:标记整理算法需要大量的时间和空间来进行对象移动和地址更新操作。

  • 可能会导致性能问题:由于需要遍历整个内存空间,标记整理算法在处理大量内存和大量对象时,可能会导致性能问题。

相关推荐
幻风_huanfeng14 小时前
人工智能之数学基础:内点法和外点法的区别和缺点
人工智能·算法·机器学习·内点法·外点法
MIngYaaa52014 小时前
The 6th Liaoning Provincial Collegiate Programming Contest - External 复盘
算法
CylMK14 小时前
题解:P11625 [迷宫寻路 Round 3] 迷宫寻路大赛
c++·数学·算法
计算机安禾14 小时前
【数据结构与算法】第44篇:堆(Heap)的实现
c语言·开发语言·数据结构·c++·算法·排序算法·图论
kaikaile199514 小时前
能量算子的MATLAB实现与详细算法
人工智能·算法·matlab
tankeven14 小时前
HJ175 小红的整数配对
c++·算法
Aaron158814 小时前
数字波束合成DBF与模拟波束合成ABF对比浅析
大数据·人工智能·算法·硬件架构·硬件工程·信息与通信·信号处理
成都易yisdong14 小时前
实现三北方向转换计算器(集成 WMM2025 地磁模型)
开发语言·windows·算法·c#·visual studio
汀、人工智能14 小时前
[特殊字符] 第91课:课程表
数据结构·算法·数据库架构·图论·bfs·课程表
wfbcg15 小时前
每日算法练习:LeetCode 36. 有效的数独 ✅
算法·leetcode·职场和发展