黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 - 網校 - 萬題庫 - 美好明天 - 直播 - 導航
您現在的位置: 考試吧 > 軟件水平考試 > 復習資料 > 系統架構設計師 > 正文

2018年計算機軟考《系統架構設計師》復習資料(4)

來源:考試吧 2018-01-05 11:57:34 要考試,上考試吧! 萬題庫
“2018年計算機軟考《系統架構設計師》復習資料(4)”供考生參考。更多軟件水平考試內容請訪問考試吧軟件水平考試網。

  點擊查看:2018計算機軟考《系統架構設計師》復習資料匯總

  管理可用資源

  公共語言運行庫 (CLR) 使用垃圾回收器來管理對象生存期和內存使用。這意味著無法再訪問的對象將被垃圾回收器自動回收,并且自動回收內存。由于多種原因無法再訪問對象。例如,可 能沒有對該對象的任何引用,或者對該對象的所有引用可能來自其他可作為當前回收周期的一部分進行回收的對象。盡管自動垃圾回收使您的代碼不必負責管理對象 刪除,但這意味著您的代碼不再對對象的確切刪除時間具有顯式控制。請考慮下列原則,以確保您能夠有效地管理可用資源:

  1)確保在被調用方對象提供 Dispose 方法時該方法得到調用。如果您的代碼調用了支持Dispose 方法的對象,則您應該確保在使用完該對象之后立即調用此方法。調用 Dispose 方法可以確保搶先釋放非托管資源,而不是等到發生垃圾回收。除了提供 Dispose 方法以外,某些對象還提供其他管理資源的方法,例如,Close 方法。在這些情況下,您應該參考文檔資料以了解如何使用其他方法。例如,對于 SqlConnection 對象而言,調用 Close 或 Dispose 都足可以搶先將數據庫連接釋放回連接池中。一種可以確保您在對象使用完畢之后立即調用 Dispose 的方法是使用 Visual C# .NET 中的 using 語句或 Visual Basic .NET 中的Try/Finally 塊。 下面的代碼片段演示了 Dispose 的用法。

  C# 中的 using 語句示例:

  using( StreamReader myFile = new StreamReader("C:\\ReadMe.Txt")){

  string contents = myFile.ReadToEnd();

  //... use the contents of the file

  } // dispose is called and the StreamReader’s resources released

  Visual Basic .NET 中的 Try/Finally 塊示例:

  Dim myFile As StreamReader

  myFile = New StreamReader("C:\\ReadMe.Txt")

  Try

  String contents = myFile.ReadToEnd()

  ’... use the contents of the file

  Finally

  myFile.Close()

  End Try  注:在 C# 和 C++ 中,Finalize 方法是作為析構函數實現的。在 Visual Basic .NET 中,Finalize 方法是作為 Object 基類上的 Finalize 子例程的重寫實現的。

  2)如果您在客戶端調用過程中占據非托管資源,則請提供 Finalize 和 Dispose 方法。如果您在公共或受保護的方法調用中創建訪問非托管資源的對象,則應用程序需要控制非托管資源的生存期。在圖 8.1 中,第一種情況是對非托管資源的調用,在此將打開、獲取和關閉資源。在此情況下,您的對象無須提供 Finalize 和 Dispose 方法。在第二種情況下,在方法調用過程中占據非托管資源;因此,您的對象應該提供 Finalize 和 Dispose 方法,以便客戶端在使用完該對象后可以立即顯式釋放資源。

  垃圾回收通常有利于提高總體性能,因為它將速度的重要性置于內存利用率之上。只有當內存資源不足時,才需要刪除對象;否則,將使用所有可用的應用程序資源以 使您的應用程序受益。但是,如果您的對象保持對非托管資源(例如,窗口句柄、文件、GDI 對象和網絡連接)的引用,則程序員通過在這些資源不再使用時顯式釋放它們可以獲得更好的性能。如果您要在客戶端方法調用過程中占據非托管資源,則對象應該 允許調用方使用IDisposable 接口(它提供 Dispose 方法)顯式管理資源。通過實現 IDisposable,對象將通知它可被要求明確進行清理,而不是等待垃圾回收。實現 IDisposable 的對象的調用方在使用完該對象后將簡單地調用 Dispose 方法,以便它可以根據需要釋放資源。注如果您的可處置對象派生自另一個也實現了 IDisposable 接口的對象,則您應該調用基類的 Dispose 方法以使其可以清理它的資源。您還應該調用實現了 IDisposable 接口的對象所擁有的所有對象上的 Dispose。Finalize 方法也使您的對象可以在刪除時顯式釋放其引用的任何資源。由于垃圾回收器所具有的非確定性,在某些情況下,Finalize 方法可能長時間不會被調用。實際上,如果您的應用程序在垃圾回收器刪除對象之前終止,則該方法可能永遠不會被調用。然而,需要使用Finalize 方法作為一種后備策略,以防調用方沒有顯式調用 Dispose 方法(Dispose 和 Finalize 方法共享相同的資源清理代碼)。通過這種方式,可能在某個時刻釋放資源,即使這發生在最佳時刻之后。注要確保 Dispose 和 Finalize 中的清理代碼不會被調用兩次,您應該調用GC.SuppressFinalize 以通知垃圾回收器不要調用 Finalize 方法。垃圾回收器實現了 Collect 方法,該方法強制垃圾回收器刪除所有對象掛起刪除。不應該從應用程序內調用該方法,因為回收周期在高優先級線程上運行。回收周期可能凍結所有 UI 線程,從而使得用戶界面停止響應。

  相關推薦:

  2018年軟考報名時間2018軟考考試安排(全年)

  考試吧特別策劃:2018年計算機軟考報考指南專題熱點文章

  計算機軟件水平考試各科目精選試題匯總

  2018年計算機軟件水平考試各科目復習知識點匯總

  軟考報考條件軟考報名方法考試大綱科目

  歷年軟考真題及答案匯總軟件水平考試簡介

0
收藏該文章
0
收藏該文章
文章搜索
·精選試題 ·智能練習
·智能評估 ·視頻解析
掃描二維碼下載
  • 初級職稱
  • 中級職稱
  • 高級職稱

版權聲明:如果軟件水平考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本軟件水平考試網內容,請注明出處。
Copyright © 2004- 考試吧軟件水平考試網 出版物經營許可證新出發京批字第直170033號 
京ICP證060677 京ICP備05005269號 中國科學院研究生院權威支持(北京)
在線模擬試題
考證通關殺器
考試最新資訊
一次通關技巧
主站蜘蛛池模板: 亚洲最大的黄色网址 | 欧美日韩在线不卡 | 免播放器在线 | 成人免费xxxxx在线视频 | 在线免费a视频 | 国产精品成在线观看 | 老司机午夜性大片 | 最新亚洲一区二区三区四区 | 久久国产午夜精品理论篇小说 | 欧美一级黄色片 | 久久不雅视频 | 国产国语videosex护士 | 嘿嘿嘿视频免费网站在线观看 | 日本一区二区不卡视频 | 中文字幕日韩精品麻豆系列 | 久久综合偷偷噜噜噜色 | 国产一级特黄aa毛片 | 欧美日韩性高爱潮视频 | 免费大黄网站 | 亚洲伊人天堂 | 生活片一级性 | 成人免费看黄网站无遮挡 | 欧美人与性另类 | 亚洲欧美视频二区 | 窝窝午夜一级看片爽 | 成年美女黄网站色大片免费看 | 88影视在线观看污污 | 丝袜制服国产 | 在线高清一级欧美精品 | 天天射夜夜骑 | 黄网页在线观看 | 欧美午夜春性猛交xxxx | 日韩一区视频在线 | 欧美日韩一级二级三级 | 欧美一区二三区 | 91桃色污| 五月天婷婷在线播放 | 中文字幕丝袜制服 | 国产免费叼嘿在线观看 | 国产一区亚洲一区 | 婷婷免费在线 |