Dot net GC

一、简介

   GC是Dotnet 内存管理的机制,GC负责内存的分配和回收。 

二、GC概念

     在以往,程序员都需要自己分配、释放资源。很多程序上的错误都因为内存没有释放导致。Dotnet的GC(垃圾收集)机制就让程序员从内存管理的繁琐工作中解放出来,从而专注于业务逻辑的开发。

三、实现

     1)内存分配

         所有引用类型都从堆中分配。堆可以看做一块连续的内存块。

    2)内存回收

       当程序请求分配内存时,GC会去堆查看是否还有足够的内存分配;如果不够,则进行内存回收。首先,它会遍历所有的根(全局、静态变量指针,堆栈中局部遍历指针,CPU存储器等)查找出在堆中所有还在被使用的对象,建立一张图。接着,压缩内存,把分散的、还在使用的内存合并移动要一块连续的内存块中,修正根的引用,重指向移动后的内存块。接着,对已分配、已没被使用的内存进行回收。

 

reference:http://www.cnblogs.com/tylerdurdon/archive/2008/12/17/1356853.html

 

EG:

 

Code

 

 

posted on 2008-12-31 15:20  肖蕾  阅读(427)  评论(1编辑  收藏  举报

导航

Web Site Hit Counter