中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

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

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

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

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

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

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

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

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

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


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

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

  1.Dispose()方法

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

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

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

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

  可以說(shuō)2者沒(méi)有任何區(qū)別,因?yàn)閡sing只是編輯器級(jí)的優(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垃圾收集機(jī)制(下),轉(zhuǎn)載需保留來(lái)源!

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

主站蜘蛛池模板: 91av久久久 | 一区二区三区四区免费在线观看 | 日本中出视频 | .国产精品成人自产拍在线观看6 | 99久久国产 | 精品久久久久久久久久久 | 亚洲精品综合 | 天天亚洲 | 成人免费观看男女羞羞视频 | 午夜精品在线观看 | 久草新在线 | 色吧久久 | 亚洲福利在线视频 | 欧美精品福利视频 | 日本成人区 | 午夜精品一区二区三区在线视频 | 久久一二| 免费一级淫片aaa片毛片a级 | 国产成人综合av | 自拍偷拍第1页 | 人妖一区 | 97久久精品午夜一区二区 | 国产精品永久 | avmans最新导航地址 | 成年人在线观看 | 久久在线 | 99久久99 | 欧美国产日韩精品 | 亚洲欧洲精品在线 | 欧美一区二区三区四区视频 | 欧美一区二区三区视频 | 国产亚洲一区二区三区在线观看 | 国产成人精品亚洲日本在线观看 | 三级特黄特色视频 | 成人精品毛片 | 成人精品一区二区三区 | 亚洲精品国产第一综合99久久 | 在线观看视频中文字幕 | 国产aⅴ | 国产欧美一区二区三区久久 | 国产精品久久久久久中文字 |