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

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

系列文章導(dǎo)航:

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

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

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

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

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

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

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


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

  第二節(jié).GC關(guān)鍵方法解析

  1.Dispose()方法

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

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

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

  插曲:使用using與try+finally的區(qū)別

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

  C#:

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

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

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

主站蜘蛛池模板: 快播av种子 | 国产精一品亚洲二区在线播放 | 国产精品无码亚洲网 | chinese耄耋70老太性 | 人人模人人干 | 日本妈妈JMZZZZZ | 亚洲AV一宅男色影视 | 花蝴蝶免费观看影视 | 啊好深啊别拔就射在里面 | 免费人妻无码AV不卡在线 | 国产精品女上位好爽在线短片 | 亚洲 欧洲 国产 日产 综合 | 国产精品毛片AV久久97 | 被吊起玩弄的女性奴 | 久久91精品久久久久久水蜜桃 | 免费观看男生桶美女私人部位 | 久久综合狠狠综合狠狠 | 免费一级毛片在线观看 | 欧美性喷潮xxxx | 99久久无码热高清精品 | GAY空少被体育生开菊 | 99re6热这里在线精品视频 | 男宿舍里的呻吟h | 在线自拍综合亚洲欧美 | 先锋影音 av | 99久久国产综合精品网成人影院 | 中文字幕在线观看亚洲日韩 | 日本久久中文字幕 | 成人中文在线 | 动漫美女和男人下载 | 国产人妻人伦精品久久久 | 俄罗斯XX性幻女18 | 精品动漫国产亚洲AV在线观看 | 野花日本手机观看大全免费3 | 午夜A级理论片左线播放 | 国产精品亚洲精品爽爽 | 美美哒高清在线播放8 | 嫩草国产精品99国产精品 | 国内精品久久久久影院网站 | 护士WC女子撒尿 | 久久精品视频在线直播6 |