- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
维普资讯
2005年第 11期 福 建 电 脑
垃圾收集算法的比较分析
徐剑峰
(上海师范大学上海 200234)
【摘 要】 本文主要比较和分析了垃圾收集器中常用的一些垃圾收集算法,并简要指出在实际应用中如何选择适
-
3的算法。
【关键词】 内存泄露;垃圾收集;垃圾收集算法
1 引言 减少内存块时,与之相关的一系列对象的引用计数值都必须进
1.1 内存泄露 行调整。这类实现不得不支付高昂的处理开销。㈣另一方面,对
目前大多数高级程序设计语言既能在栈(stack)_L也能在堆 于生命期很短的对象,例如过程调用中的参数传递 ,会频繁地进
(heap)分配内存。栈上的内存一般是静态分配,而且已经完全 行计数值的增加和减小的操作。此外,引用计数要 占用相当数量
靠系统 自动释放;而堆上的内存一般是动态分配。在传统的高级 的内存空间也影响了效率。
程序语言中 (像 C和 C++语言)往往需要程序员为 内存 的分配和 (2)更重要的是 ,引用计数算法无法正确释放循环引用的内
释放进行编码。 存块。彼此直接或者间接引用的几个对象(如循环链接的列表或
若程序为某个对象分配了内存.但对象使用完之后却没有 者包含指向父节点的反向指针的树)当变为不可到达时,它们的
执行相应的释放操作 ,就会导致所 占用的内存空间无法释放.直 引用计数值并未减为 0。于是它们成为无法回收的内存垃圾。
到程序终止。我们称这种无法回收的现象为 内存泄露(memory 2.2标记一清除 (Mark-Sweep)算法
leaJ【)。若程序是一个不问断运行的应用系统,产生 内存泄露的 标记一清除算法的执行过程分为 “标记”和 “清除”两大阶段。
代码被反复执行,那么系统内存会被这种程序逐步蚕食殆尽。从 第一个阶段为标记阶段。每个对象使用一个二进制位作为标记
而导致应用系统崩溃。另一方面。对于一个大型的应用系统。代 位,垃圾收集器通过对所有对象进行一次全局遍历来标记所有
码量非常大,难免会出现 内存泄露,而这是一种很难发现和纠正 活动的对象。当遍历完成后那些未被标记的对象就是垃圾对象。
的问题。因此.内存泄露问题成为困扰编程人员的难题。 第二个阶段为清除阶段,回收垃圾对象 占用的内存,同时清除活
1.2 垃圾收集 动对象的标记位。为下一次垃圾收集作好准备。
为解决内存泄露问题,像Java、C撑等现代高级语言大多都 与引用计数算法相 比,标记一清除算法拥有两个优点,第一,
提供了垃圾收集 (GarbageCollection。GC)机制。程序员仍然需要 它可以非常 自然地处理循环引用结构,不需要采取特别的措施:
申请动态分配内存。但他不再需要决定何时释放 内存了:因为它 第二,不需要监测每一次内存分配和指针操作,而只要在标记阶
会被 自动回收。这就是垃圾收集的精确定义 —— 动态分配 内存 段中跟踪即可 。从而减少了开销。
的自动管理机制。[I]自动 内存管理机制以损失性能为代价来限 在另一方面,标记一清除算法也存在缺陷:(1)在垃圾收集器
制复杂性。省去了程序员 自己管理 内存的麻烦和危险,也避免了 运行时用户程序的运行必须暂停。而且暂停可能会很长,在清除
内存管理的错误 。 阶段整个堆都是可访 问的。这对于可能有页面交换的堆 的虚拟
通常。垃圾收集算法一般要做两件事情:(1)垃圾检测:区分 内存系统有非常负面的性能影响。m(2)容易使堆产生碎片,即
垃圾对
您可能关注的文档
最近下载
- 承插盘扣悬挑脚手架施工方案.doc
- 理想 SF 5450 5350 5250 5050 5430 速印机中文维修手册.pdf VIP
- 气体厂槽车充装管理制度.doc VIP
- 理想 SF 9350 9390 9450 9250 速印机中文维修手册.pdf VIP
- 夏夫兹博里与哈奇生美学思想比较研究.docx
- 理想KS系列 KS500 KS600 KS800 速印机中文维修手册.pdf VIP
- (2025年)检验检测机构授权签字人考核试题(含答案).docx VIP
- 富士施乐 3代机 DocuCentre III 3007 2007 黑白复印机中文维修手册.pdf VIP
- 《经济文选》第一卷学习体会.docx VIP
- 2025年空间智能研究报告.pdf
文档评论(0)