教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

标记-清除算法(Mark-Sweep)的原理介绍和缺点

更新时间:2021年03月02日15时08分 来源:传智教育 浏览次数:

标记-清除算法(Mark-Sweep)是一种非常基础和常见的垃圾收集算法,简单的说,它们找出所有不可达的对象,并将它们放入空闲列表Free,该算法被J.McCarthy等人在1960年提出并并应用于Lisp语言。

标记-清除算法分为两个阶段,标注和清除。标记阶段标记出所有需要回收的对象,清除阶段回收被标记的对象所占用的空间。如图

标记清除算法

从图中我们就可以发现,该算法最大的问题是内存碎片化严重,后续可能发生大对象不能找到可利用空间的问题。

缺点

·效率不算高

·在进行GC的时候,需要停止整个应用程序,导致用户体验差

·这种方式清理出来的空闲内存是不连续的,产生内存碎片。需要维护一个空闲列表。

猜你喜欢:

传智教育Java基础进阶教程

JSP作用域有几个?JSP作用域详解

什么是线程安全?如何理解线程安全?

高级Java软件开发工程师课程



下面是传智教育公开的几套Java课程,您可以下载和在线观看学习,如果想深入学习java并想找到不错的java开发相关工作,建议报班学习传智教育Java高级软件工程师课程获取【Java视频教程+资料】加播妞1605146928606_课程资料.jpg:435946716。



0 分享到:
和我们在线交谈!