GC增量算法的理论与实践

  author:[email protected]
MMgc 为例
 
垃圾收集
       垃圾收集(Garbage Collection,GC)是一种自动打扫和清除内存垃圾的技术,它可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。计算机语言中,很多利用了这一技术来自动管理与之相关联的内存的清除,如Java,Perl,Python,Ruby,JavaScript等。但各自的机制不尽相同,例如Java是比较复杂的自适应GC技术,囊括Mark-Sweep,增量算法(Incremental Algorithm)等;Perl为引用计数(Count Reference);Python采用分代机制(Generation Algorithm);Ruby是标记清除(Mark-Sweep);JavaScript的不同引擎采用的迥异,Spider monkey是标记清除(Mark-Sweep),而Tamarin是又在此之上增加了增量算法。
 
         以上基本囊括了比较流行的GC算法,除此之外还有复制(Copying)算法与标记整理(Mark-Compact)算法等。这些算法各自有自身的优势,有的实现简单,有的回收及时(也可说内存峰值可以保持在较低水准),还有些可以用于实时系统(即每次收集不会占用很大CPU时间,造成停顿感),因此对于不同需求有应采用不同的方式。譬如一个需要 进行实时垃圾收集的运行环境采用增量收集是一个比较好的选择。
 
增量算法理论与三元色机制
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值