现在的位置: 首页 > 综合 > 正文

浅谈资源收集器GC

2013年05月03日 ⁄ 综合 ⁄ 共 339字 ⁄ 字号 评论关闭

.NET中不需要程序员自己摧毁物件,而是资源收集器(Garbage Collector)来摧毁物件。GC会周期性地自动执行,并收回没有被引用的物件。

.NetGC模式采用的是分代,堆空间按对象的生存周期长短分为3代。新分配的对象在第0代,按地址顺序分配,当第0代的空间用光时,将程序里能引用到的对象移动到第1代,那么剩下的就是垃圾,第0代空间便可以重新用于分配。同理,第1代也按同样的逻辑运行,那么第2代里的对象将都是生存期很长的对象。这样回收的时间开销大于分配时间开销,不会出现很多碎片的问题,利于程序的运行,使循环引用的对象能够被正确的回收。

以此可见,资源回收器是个很好用的机制。程序开发人员不需要再做记忆管理的工作;降低了Run-time Error,还有其它的记忆体问题。

 

【上篇】
【下篇】

抱歉!评论已关闭.