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/

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。