一、简介

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

二、GC概念

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

三、实现

     1)内存分配

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

    2)内存回收

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

 

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

 

EG:

 

 

 

相关文章:

  • 2021-11-25
  • 2021-09-24
  • 2022-12-23
  • 2021-12-03
  • 2021-10-23
  • 2022-01-05
  • 2021-08-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-10
  • 2022-12-23
  • 2022-01-03
  • 2021-12-09
  • 2021-09-25
相关资源
相似解决方案