首页 > 代码库 > asp.net 之 GC (垃圾回收机制)

asp.net 之 GC (垃圾回收机制)

今天抽时间好好整理了下GC相关知识,看了CSDN和博客园的几篇文章,有了一定的简单了解,特整理一份。

提到GC,与托管代码和非托管代码密不可分。

1.托管代码:无需也无法人为干预内存回收工作的代码,会自动调用GC进行垃圾回收,我们日常所写的研发程序代码大多数都是分托管代码,没有终结器(Finalize)。

  像简单的int,string,float,DateTime等等,.net中超过80%的资源都是托管资源。

2.非托管资源:与托管代码形成对立面,这部分资源虽然垃圾回收器可以跟踪封装非托管资源的对象的生存期,可以人为的干涉内存回收工作,但是不会自动调用GC自行进行垃圾回收,不过还好.net Framework提供了Finalize()方法(终结器),它允许在垃圾回收器回收该类资源时,适当的清理非托管资源。

 

http://blog.csdn.net/directionofear/article/details/8034133

http://www.cnblogs.com/brusegao/archive/2009/03/23/1419816.html

http://blog.csdn.net/jackluangle/article/details/6607086

http://kb.cnblogs.com/page/106720/

asp.net 之 GC (垃圾回收机制)