C#之垃圾回收心得体会

开始说垃圾回收之前先说说托管资源和非托管资源。

先来说说是什么托管资源和非托管资源:托管资源一般是指被CLR控制的内存资源,这些资源的管理可以由CLR来控制,例如程序中分配的对象,作用域内的变量等。这部分的资源是可以被垃圾回收器自动回收的;非托管资源自然就是不被CLR控制的资源,垃圾回收器无法对其实现自动回收了。

那么如何及时的清理使用完毕的资源呢?

答案是:

实现Dispose方法

Finalize方法和析构函数

通过GC类进行强制回收

清理对象使用的资源就让对象实现Dispose方法,Dispose方法释放它拥有的所有资源。它还应该通过调用其父类型的 Dispose 方法应该释放它拥有的所有资源并同样也调用其父类型的 Dispose 方法,从而在整个基类型层次结构中传播此模式。若要确保始终正确地清理资源,Dispose 方法应该可以被多次调用而不引发任何异常。

using语句

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> 1  Font font2  =   new  Font( " Arial " 10.0f );
2  using  (font2)
3  {
4       //  use font2
5  }

 

 

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> using  (Font font3  =   new  Font( " Arial " 10.0f ),font4  =   new  Font( " Arial " 10.0f ))
{
    
//  Use font3 and font4.
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值