【Java 虚拟机原理】垃圾回收算法 ( 标记-清除算法 | 复制算法 | 标记-整理算法 )_java 垃圾回收算法 复制算法有标记过程吗-程序员宅基地

技术标签: JVM  Java 虚拟机原理  标记-清除算法  垃圾回收算法  标记-整理算法  复制算法  

总结


常用的垃圾回收算法 :

  • 标记-清除算法 ;
  • 复制算法 ;
  • 标记-整理算法 ;

这些算法没有好坏优劣之分 , 都有各自的 优势 和 弊端 , 都有各自的 使用场景 ; 一般的垃圾回收 , 都是几种垃圾回收算法结合起来一起使用 , 不同的场景下 , 使用不同的垃圾回收算法 ;

分代收集算法 : 该垃圾回收算法不是特定的回收算法 , 而是 合理地使用上述 3 3 3 个算法 , 在 不同的内存空间内 , 使用不同的垃圾收集器 ;

这里的分代 指的是 年轻代 , 老年代 ; 年轻代又分为 Eden 和 Survivor 两个区域 , Survivor 又分为 From 和 To 两个区域 ;





一、标记-清除算法



内的内存区域如下 , 内存区域分为一个个内存块 , 某个对象可能占用 2 2 2 个内存块 , 也能占用若干个内存块 ;

如果 定位 找到了 垃圾对象 , 那么 将该 垃圾对象 进行标记 , 如下图 , 标记为 橙色 ;

标记好之后 , 在执行 GC 内存回收时 , 会 将 被标记的 内存 回收 ;

在这里插入图片描述

标记-清除算法优缺点 :

  • 优点 : 算法 实现简单;
  • 缺点 : 产生了很多 不连续的内存 , 如果对象比较大 , 要用 5 5 5 个内存块 , 会出现 OOM ;




二、复制算法



内存区域 , 分为两部分 ;

对象只放在 左侧区域 , 右侧区域 空着 ;

左侧区域 的 垃圾对象 回收后 , 将 存活 的对象 , 拷贝到 右侧区域 中 ;


在这里插入图片描述

复制算法优缺点 :

  • 优点 : 解决了 内存碎片 问题 ; 效率高 ;
  • 缺点 : 只能使用 一半内存 ;

复制算法 适合使用 内存量较小 , 但是 操作很频繁的区域 , 如 : 在 年轻代 的 Survivor 中 , 使用的就是 复制算法 垃圾回收机制 ;





三、标记-整理算法



标记-整理算法标记-清除算法 的更完善的版本 , 标记-整理算法 解决了 内存碎片问题 ;

内存回收后 , 将内存中的对象重新 紧密地 排列 , 消除内存碎片 ;

在这里插入图片描述

标记-整理算法 优缺点 :

  • 优点 : 消除了内存碎片 ;
  • 缺点 : 性能较低 ; 执行该垃圾回收算法时 , 需要 对内存进行重排 , 此时不能随意变动内存的数据结构 , 因此 执行该 标记-整理算法 时 , 整个线程需要整体停下来 , 但这样大大影响程序的执行效率 ;

标记-整理 算法 , 不能用在 内存操作 活跃的场景中 , 如 : 老年代的垃圾回收 , 使用的是 标记-整理 算法 ;

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/han1202012/article/details/120088828

智能推荐

上下跳动的箭头 css_h5 箭头抖动-程序员宅基地

文章浏览阅读2.9k次。在H5场景动画时,常常会用到着一样一个效果,箭头持续上下跳动来引导用户上下滑动整个页面<!DOCTYPE html ><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <tit_h5 箭头抖动

DDOS攻击/防御介绍_攻击特征库-程序员宅基地

文章浏览阅读6k次,点赞13次,收藏86次。1.防御流程图 1 检测中心分析防护网络的分光或者镜像流量 2 检测中心发现流量异常,上报受攻击IP地址到管理中心 3 管理中心向清洗中心下发引流策略 4 通过BGP路由通告,清洗中心将被攻击IP的流量重定向到自身,实现流量牵引 5 清洗中心通过多层过滤的防御技术,丢弃攻击流量,转发正常流量 ._攻击特征库

java读写linux软链接,linux软链接和硬链接-程序员宅基地

文章浏览阅读795次。简而言之:软链接相当于windows中的快捷方式硬链接相当于一个灾备系统,数据存放在两处,与复制不同的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外一处数据如果被删除了,不会影响到另一处的数据.下面是详细的介绍:存在两种不同类型的链接,软链接和硬链接。修改其中一个,硬连接指向的是节点(inode),而软连接指向的是路径(path)软链接文件软链接又叫符号链接,这个文件包含了另一个文..._java处理linux软连接文件

Android组件化实践项目分享-程序员宅基地

文章浏览阅读344次。目录介绍01.项目介绍02.项目运行03.项目部分介绍04.项目组件化结构05.项目版本更新06.项目第三方库07.项目遇到bug08.项目截图展示09.项目优化处理10.组件化博客11.其他介绍01.项目介绍1.1 项目简介项目整体架构模式采用:组件化+MVP+Rx+Retrofit+design+Dagger2+阿里VLayout+腾讯X5+腾讯bugly包...

芋道 Spring Boot JPA 入门-程序员宅基地

文章浏览阅读230次。点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创 | Java 2020超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析..._芋道源怎么使用orderby

uni-app 之 解决u-button始终居中问题-程序员宅基地

文章浏览阅读881次。uni-app 之 解决u-button始终居中问题_u-button

随便推点

中山大学计算机是A类学科吗,中山大学a类学科有哪些?附中大a类学科名单-程序员宅基地

文章浏览阅读1.6k次。选择科目测一测我能上哪些大学选择科目领取你的专属报告>选择省份关闭请选择科目确定v>中山大学是广东省一所知名高校,位于广东省广州市,是我国著名的“211大学”、“985工程”之一,现已入选“双一流”建设高校。本期,小编将为大家介绍中山大学在教育部全国第四轮学科评估中的相关学科情况,可供参考。一、中山大学A类学科名单(14个学科)A+:生态学、工商管理A:马克思主义理论、公共管理A-:哲..._中山大学计算机是a类吗

操作系统实验报告,适用与大一大二学生_(1)分析计算机系统中对资源的分配与释放过程:计算机系统中的每个进程都可以消费或-程序员宅基地

文章浏览阅读6.2k次,点赞9次,收藏31次。实 验 报 告 册课 程 操作系统 批阅教师签名 学 院 信息工程学院 专 业 计算机科学与技术 班 级 2018计科2班 学 号 201805050257 ..._(1)分析计算机系统中对资源的分配与释放过程:计算机系统中的每个进程都可以消费或

【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)-程序员宅基地

文章浏览阅读773次,点赞7次,收藏29次。文献来源:摘要:对任意来流条件下的风电场发电功率进行准确预测,是提高电网对风电接纳能力的有效措施。针对大型风电场的功率预测采用单点位风速外推预测代表性差的局限,提出基于高斯混合模型(GMM)聚类的风电场短期功率预测方法。方法结合数据分布特征,利用GMM聚类将大型风电场划分为若干机组群,借助贝叶斯信息准则指标评价,获得风电场内最优机组分组方案。实际算例验证表明,按照小时级、月度级、年度级等时间尺度进行统计,所建立的GMM聚类模型均极大地提高了未分组的风电功率预测模型的准确性。

Oracle over函数-程序员宅基地

文章浏览阅读535次。Oracle over函数SQL code: sql over的作用及用法RANK ( ) OVER ( [query_partition_clause] order_by_clause )DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause )可实现按指定的字段分组排序,对于相同分组字段的结果集进

深入了解Netty【八】TCP拆包、粘包和解决方案_粘包 八个一组-程序员宅基地

文章浏览阅读250次。1、TCP协议传输过程TCP协议是面向流的协议,是流式的,没有业务上的分段,只会根据当前套接字缓冲区的情况进行拆包或者粘包:发送端的字节流都会先传入缓冲区,再通过网络传入到接收端的缓冲区中,最终由接收端获取。2、TCP粘包和拆包概念因为TCP会根据缓冲区的实际情况进行包的划分,在业务上认为,有的包被拆分成多个包进行发送,也可能多个晓小的包封装成一个大的包发送,这就是TCP..._粘包 八个一组

苹果7plus元件分布图_苹果iPhone7Plus元件分布图+电路原理图+位置图PDF-程序员宅基地

文章浏览阅读6k次。苹果iPhone7Plus元件分布图+电路原理图+点位图(PDF格式)高通版_ALL_ BOARD _V1 PDF点位图(非PCB格式)iPhone 7P D11 MLB电路原理图.pdfiPhone 7P PCB Layout.pdf元器件彩图A.jpg元器件彩图B.jpgiphone7p D11高通基带 电路原理图-全.pdfBRD_820-00229.pdfA10 cpu中层阻值图+供电图...._苹果7p芯片位置图

推荐文章

热门文章

相关标签