av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

.NET 強引用與弱引用

  • 強引用

如果應(yīng)用程序的代碼可以訪問一個正由該程序使用的對象,垃圾回收器就不能收集該對象, 那么,就認為應(yīng)用程序?qū)υ搶ο缶哂袕娨谩?/p>

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)站,高端網(wǎng)頁制作,對成都混凝土攪拌罐車等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計,網(wǎng)站優(yōu)化推廣哪家好,專業(yè)seo優(yōu)化優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。

要建立強引用并重新使用該對象,請將 WeakReference 的 Target 屬性強制轉(zhuǎn)換為該對象的類型。如果 Target 屬性返回 null,則表示對象已被收集;否則,您可繼續(xù)使用該對象,因為應(yīng)用程序已重新獲得了對它的強引用。

  • 弱引用

弱引用允許應(yīng)用程序訪問對象,同時也允許垃圾回收器收集相應(yīng)的對象。如果不存在強引用,則弱引用的有限期只限于收集對象前的一個不確定的時間段。
使用弱引用時,應(yīng)用程序仍可對該對象進行強引用,這樣做可防止該對象被收集。但始終存在這樣的風(fēng)險:垃圾回收器在重新建立強引用之前先處理該對象。
要對某個對象建立弱引用,請使用要跟蹤的對象的實例創(chuàng)建一個 WeakReference。 然后將 Target 屬性設(shè)置為該對象,將該對象設(shè)置為 null。

  • 適合弱引用的對象
    • 占用大量內(nèi)存,但通過垃圾回收功能回收以后很容易重新創(chuàng)建。
  • 弱引用分類
    • Short  垃圾回收功能回收對象后,短弱引用的目標會變?yōu)?null。弱引用本身是托管對象,和任何其他托管對象一樣需要經(jīng)過垃圾回收。短弱引用是 WeakReference 的默認構(gòu)造函數(shù)。
    • Long

調(diào)用對象的 Finalize 方法后,會保留長弱引用。這樣,您就可以重新創(chuàng)建該對象,但該對象仍保持不可預(yù)知的狀態(tài)。要使用長引用,請在 WeakReference 構(gòu)造函數(shù)中指定 true。如果對象的類型沒有 Finalize 方法,則會應(yīng)用短弱引用功能,該弱引用只在目標被收集之前有效,運行終結(jié)器之后可以隨時收集目標。

  • 弱引用使用準則
    • 僅在必要時使用長弱引用,因為在終止后對象的狀態(tài)是不可預(yù)知的
    • 避免對小對象使用弱引用,因為指針本身可能和對象一樣大,或者比對象還大
    • 不應(yīng)將弱引用作為內(nèi)存管理問題的自動解決方案,而應(yīng)開發(fā)一個有效的緩存策略來處理應(yīng)用程序的對象。

分享題目:.NET 強引用與弱引用
轉(zhuǎn)載注明:http://uogjgqi.cn/article/cdeecgi.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流