l Finalize
在上一篇文章中我分配使用资源一共五步,我们已经知道了GC是如何释放无用对象的内存了。但是它怎么实现第四步清空资源使用状态、释放利用到的一些非内存的系统资源呢?.NET引入了Finalize来完成这个任务。
GC在无用单元回收时一旦发现某个对象有Finalize方法,便调用它。所以我们的Finalize方法一定要尽量少做事情,以提高内存回收的速度。另外,在Finalize方法中不要有任何的线程同步等操作,以防止GC线程被挂起。
我们可以用两种方法来写自己的Finalize方法。一种就是显示的实现,如下面的代码:
|
代码1 |
|
public class SomeClass
{
public SomeClass()
{
}
protected override void Finalize()
{
Console.WriteLine(“Finalizing…”);
}
} |
使用这种方法时要注意一点,.NET不会帮你做调用基类的Finalize方法。如果需要调用基类的Finalize方法,需要显示的调用。如下面代码:
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
-
该C#程序可将文本文件藏于位图中,也可导出之_Asp.NET开发实例
-
在 C# 中通过 P/Invoke 调用Win32 DLL
-
问大家一个有关问题 不用代码的 我没看过这样的项目
-
Internet银行:选择.NET还是J2EE?_Asp.NET Framework
-
唉,剩下10分了, 想请问一个关于Dropownlist的有关问题
-
请教这个正则怎么写
-
为什么小弟我用来MVC3之后,编译cshtml后的中间类会继承自System.Web.WebPages.WebPage
-
easyui的searchbox有关问题
-
刚写好的Asp.Net时间和日期的Label控件。作为讲解Asp.net控件开发的第一部分:继承开发(4)-.NET教程,组件_组件控件开发
-
ASP.NET 2.0里面的DetailView和FormView的一个缺点解决思路
-
.net如何实现页面间的参数传递
-
asp.net key considerations(二)_Asp.NET Framework
-
win7旗舰版的iis配置,该如何解决
-
现在还用VS2003 版本1.1,SQL2003.会不会落后,该如何解决
-
mvc3.0 实现文件上传效能
-
xslt 怎么获取xml节点的有关问题
-
这个,有点意思,无聊的时候可以看看解决思路
-
ASP.NET中 “Datalist“ 内小弟我放个TextBox控件 小弟我如何控制TextBox的隐藏和显示
-
怎么将指定的文件(doc)上传,保存到数据库里面
-
请问正则表达式,以0.00开头,0.00结尾的表达式如何写啊分立结