A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

本帖最后由 袁晓俊 于 2014-4-27 10:56 编辑

非托管堆垃圾需要程序员手动释放,具体怎么做?求大师指点,最好是源代码,详细注释,万分感谢,,,,,,,

评分

参与人数 1技术分 +1 收起 理由
张旭辉 + 1

查看全部评分

4 个回复

倒序浏览
看传智播客的面试宝典。。。里面有相关内容
回复 使用道具 举报
在.Net中释放非托管资源主要有2种方式,Dispose,Finalize

Dispose方法,对象要继承IDisposable接口,也就会自动调用Dispose方法。

Class Suifeng:System.IDisposable
{
    #region IDisposable 成员

     public void Dispose()
     {
         //
     }

     #endregion
}

Suifeng suiFeng= new Suifeng ();

suiFeng.Dispose();

也可以使用Using语句
(using Suifeng suiFeng= new Suifeng())
{
     //
}
Finalize()方法

MSDN上的定义是允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。
它的本质就是析构函数

protected override void Finalize()
{
    try
    {
        // Cleanup statements...
    }
    finally
    {
        base.Finalize();
    }
}

评分

参与人数 1技术分 +1 收起 理由
张旭辉 + 1

查看全部评分

回复 使用道具 举报
哦哦哦,感谢,,,,,,,,,,,,
回复 使用道具 举报
继承了Idispose()接口的用using(代码放进去){  }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马