天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

.NET Discovery 系列之四--深入理解.NET垃圾收集機制(下)

系列文章導航:

.NET Discovery 系列之一--string從入門到精通(上)

.NET Discovery 系列之二--string從入門到精通(勘誤版下)

.NET Discovery 系列之三--深入理解.NET垃圾收集機制(上)

.NET Discovery 系列之四--深入理解.NET垃圾收集機制(下)

.NET Discovery 系列之五--Me JIT(上)

.NET Discovery 系列之六--Me JIT(下)

.NET Discovery 系列之七--深入理解.NET垃圾收集機制(拾貝篇)


  上一節給大家介紹了 .NET GC的運行機制,下面來講下與GC相關的重要方法。

  第二節.GC關鍵方法解析

  1.Dispose()方法

  Dispose可用于釋放所有資源,包括托管的和非托管的,需要自己實現。

  大多數的非托管資源都要求手動釋放,我們應當為釋放非托管資源公開一個方法,實現釋放非托管資源的方法有很多種,實現IDispose接口的Dispose方法是最好的,這可以給使用你類庫的程序員以明確的說明,讓他們知道怎樣釋放你的資源;而且C#中用到的using語句快,也是在離開語句塊時自動調用Dispose方法。

  這里需要注意的是,如果基類實現了IDispose接口,那么它的派生類也必須實現自己的IDispose,并在其Dispose方法中調用基類中Dispose方法。只有這樣的才能保證當你使用派生類實例后,釋放資源時,連同基類中的非托管資源一起釋放掉。

  插曲:使用using與try+finally的區別

  可以說2者沒有任何區別,因為using只是編輯器級的優化,它與try+finally有著相同的作用,以下是一段使用using的代碼,它在IL階段也是以try+finally呈現的:

  C#:

public partial class _Default : System.Web.UI.Page
{
  
protected void Page_Load(object sender, EventArgs e)
  {
    
using (DataSet ds = new DataSet())
    {
    }
  }
}

NET技術.NET Discovery 系列之四--深入理解.NET垃圾收集機制(下),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 新影音先锋男人色资源网 | 天天操夜夜噜 | 99久久国产露脸精品国产麻豆 | 冈本视频黄页正版 | 色欲档案之麻雀台上淫 | 中文字幕不卡在线视频 | 亚州中文字幕 | 精品无人区麻豆乱码无限制 | 为什么丈夫插我我却喜欢被打着插 | 97在线精品视频免费 | 一本之道高清www在线观看 | 91嫩草私人成人亚洲影院 | 无限资源在线看影院免费观看 | 妈妈的职业3完整版在线播放 | 国产在线精品视频免费观看 | 国产老师开裆丝袜喷水漫画 | 肉小说高h| 香蕉59tv视频 | 97综合久久 | 2021国产精品国产精华 | 日韩精品亚洲专区在线影院 | 秘密教学93话恩爱久等了免费 | 国产午夜精品理论片在线 | 久久国产一区二区三区 | 扒开女生尿口 | 麻美ゆま夫の目の前で犯 | 东北女人奶大毛多水多 | 亚洲免费在线视频观看 | 一个人免费完整在线观看影院 | 久久国内精品视频 | 99视频在线精品免费观看18 | 国产精品久久久久久人妻精品蜜桃 | 国产露脸无码A区久久蘑菇 国产露脸无码A区久久 | 日韩精品无码久久一区二区三 | 丝袜诱惑qvod | 美女胸被男子强捏视频 | 秋霞鲁丝片Av无码 | 久久人人爽人人片AV人成 | 中俄两军在日本海等上空战略巡航 | 诱受H嗯啊巨肉各种play | 吃奶摸下的激烈免费视频 |