JVM的垃圾回收算法有哪些

标记清除算法

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

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

标记整理算法

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

复制算法

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

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

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

相关推荐
机器学习之心7 分钟前
MATLAB基于改进蜣螂优化算法的磨削参数低碳优化
算法·matlab·基于改进蜣螂优化算法·磨削参数低碳优化
IT_Octopus15 分钟前
算法题:力扣 热题100道 中等难度128. 最长连续序列
算法·leetcode
浅川.2517 分钟前
xtuoj 方程
算法
Swift社区19 分钟前
LeetCode 441 - 排列硬币
算法·leetcode·职场和发展
TL滕22 分钟前
从0开始学算法——第七天(快速排序算法练习)
笔记·学习·算法·排序算法
MicroTech202523 分钟前
MLGO微算法科技 D-S融合算法技术发布,助力脑机接口迈向实用化
大数据·科技·算法
Q741_14725 分钟前
C++ 栈 模拟 力扣 844. 比较含退格的字符串 题解 每日一题
c++·算法·leetcode·模拟·
CoderYanger32 分钟前
动态规划算法-简单多状态dp问题:14.粉刷房子
开发语言·算法·leetcode·动态规划·1024程序员节
张张努力变强35 分钟前
二叉树——精选题目,体验递归的暴力美学!
c语言·数据结构·算法
FMRbpm40 分钟前
栈练习--------(LeetCode 739-每日温度)
数据结构·c++·算法·leetcode·新手入门