国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發(fā)教程 > 詳細頁面

迅速理解.NET Framework[翻譯]

迅速理解.NET Framework[翻譯]

更新時間:2022-05-07 文章作者:未知 信息來源:網絡 閱讀次數(shù):

快速理解.NET Framework

引言

本文著眼于微軟.NET框架。這是較新發(fā)布的軟件開發(fā)環(huán)境,它幫助開發(fā)者快速開發(fā)應用程序并且提供各種不同語言像Visual Basic .NET, C#, ASP .NET, 和Jscript .NET等開發(fā)最合適的,高效的,可擴展的,面向性能的應用程序 。

 

.NET框架概述
.NET框架是一種新的計算平臺,它在Internet高度分布的環(huán)境中簡化應用程序開發(fā)

 

服務

NET框架提供以下服務:

開發(fā)軟件應用工具
執(zhí)行軟件應用的運行時環(huán)境
服務器基礎設施
幫助開發(fā)者減少編碼提高工作效率的增值只能軟件
.NET框架將使開發(fā)者為不同設備和不同平臺開發(fā)應用程序,如:windows應用程序、web應用程序、windows服務和web服務。



目標

設計.NET框架是為了實現(xiàn)下列目標:

一個一致的面向對象編程環(huán)境,目標代碼能本地化存儲和執(zhí)行,本地化執(zhí)行而不是分布式Internet,或者遠程執(zhí)行。
一個減少軟件部署和版本沖突的代碼編輯環(huán)境。
一個確保安全的代碼執(zhí)行的代碼編輯環(huán)境,包括來自未知的或是不能完全信任的社團的代碼。
一個能消除腳本的或解釋性的環(huán)境引起的性能問題的代碼編輯環(huán)境。
開發(fā)者在面對大量不同應用系統(tǒng)類型時有一致的開發(fā)體驗,如基于Windows的應用程序和基于Web的應用程序。
構造所有工業(yè)標準信息來確保基于.NET框架的代碼能夠集成任何其他代碼。
 

理解.NET框架體系結構

.NET框架有兩個組件:.NET框架類庫和公共語言運行時。
.NET框架類庫使類型(CTS)變的簡單,它對于.NET語言來說是公共的。
公共語言運行時組成部分有由:(類加載器)加載程序的IL代碼并將起編譯成本地代碼到運行時,執(zhí)行和管理代碼來加強安全和類型安全,并且提供線程支持。




.NET框架體系結構最頂部是像VB .NET C#, VJ#, VC++ .NET之類的語言;開發(fā)者能開發(fā)(使用上面的任何語言)像Windows窗體,Web窗體,Windows服務和XML Web服務。




理解.NET框架的角色


.NET框架有兩個組要的組件:公共語言運行時(CLR)和.NET框架類庫。公共語言運行時是.NET框架的基礎。CLR 在運行時管理代碼,提供像內存管理,線程管理和remoting之類的核心服務,同時也加強嚴格的類型安全和促進代碼正確來確保程序的安全性和健壯性(魯棒性)。代碼管理的概念是CLR的基本原則。針對CLR的代碼被認為是可管理的代碼,而不是針對CLR的代碼則被認為是不可管理的代碼。

類庫是.NET框架的一個完整的組件, 包括可重用類的面向對象集合,它使我們能用來開發(fā)應用程序包括傳統(tǒng)的命令行或是任何像Windows窗體,ASP. NET Web窗體和新近發(fā)明的XML Web 服務的Windows服務這樣的圖形用戶接口(GUI)。


歐洲計算機制造商協(xié)會(ECMA)標準定義了通用語言規(guī)范(CLS);這加強了軟件開發(fā)語言能夠進行互操作。按照CLS編寫的代碼應該能和另一個符合CLS語言的代碼一起編譯。因為由符合CLS語言支持的代碼將會被編譯成中間語言(IL)代碼。CLR引擎執(zhí)行IL代碼。這保證了符合CLS語言的互用性。微軟.NET框架支持的語言有Microsoft Visual Basic .NET, Microsoft Visual C#, Microsoft Visual C++ .NET, and Microsoft Visual J# .NET.

語言編譯器生成中間語言代碼,叫做微軟中間語言(MSIL),它使不同可互操作的.NET語言編寫程序。
ECMA標準,公共語言架構(CLI),定義了IL代碼需要執(zhí)行的基礎架構的規(guī)范。CLI提供一個公共類型系統(tǒng)(CTS)和像類型安全,可管理的代碼執(zhí)行和side by side執(zhí)行的服務。








圖1.微軟.NET框架的ECMA標準

.NET框架提供基礎架構和服務。CLI規(guī)范.它們包括:
公共語言運行時:

CLR包括CLI

CLR也提供.NET應用程序的執(zhí)行環(huán)境

公共類型系統(tǒng):

提供數(shù)據(jù)類型,值,對象類型。這使得開發(fā)人員能用不同的語言開發(fā)應用程序。.NET語言共享CTS意味著所有在應用程序中的類型在CLI類型定義中是一樣的。

類型安全:

.NET框架在值和對象上執(zhí)行操作,因為.NET框架需要知道每個值和對象的類型并且引用值和對象類型。

可管理的代碼執(zhí)行

.NET框架管理執(zhí)行.NET應用程序時對象的狀態(tài)。

.NET框架自動分配內存并提供來機收集機制來重新分配內存

Side-by-side執(zhí)行

.NET框架通過使用不同版本的裝配器允許同一應用程序的不同版本運行在同一機器上。裝配器由IL代碼和元數(shù)據(jù)組成。元數(shù)據(jù)決定應用程序的依賴關系。通過這個,.NET框架運行時能執(zhí)行多種版本裝配器并且解決遺留的開發(fā)環(huán)境的主要問題。那就是DLL HELL?


.NET裝配器

圖2 Side-by-side執(zhí)行



理解.NET框架CLR

公共語言運行時:

運行時環(huán)境
CLR把應用程序編譯成有運行時,把IL代碼編譯成本地代碼,執(zhí)行代碼
運行時服務
內存管理
類型安全
增強安全
異常管理
線程支持
調試支持
理解.NET框架CLR的體系結構






類加載器,將類加載到CLR。
MSIL到本地代碼的編譯,將把MSIL轉變成本地代碼。
代碼管理器,它在代碼執(zhí)行期間進行管理。
內存分配和垃圾收集,表現(xiàn)為自動內存管理。
安全的引擎,使用微軟提供的工具和在控制面板對.NET框架配置加強安全限制包括代碼級安全、文件及機器級安全。
類型檢查器,增強強類型檢查。
線程支持,提供對應用程序的多線程支持。
異常管理器,提供對運行時異常處理的機制。
調試引擎,允許開發(fā)者調試應用程序的不同類型。
COM配置,允許.NET應用程序與COM應用程序交換數(shù)據(jù)。
基類庫支持,提供應用程序運行時所需的類。
公共語言運行時的特征


CLR有以下特征:

管理內存:
內存分配
內存的重分配(垃圾收集)
線程執(zhí)行支持
代碼執(zhí)行
代碼安全檢查
編譯
MSIL到本地代碼
基于信任的代碼安全(對執(zhí)行代碼的授權。代碼級,文件級,機器級)這些特征對運行在公共語言運行時的可管理代碼來說是固有的。
理解CLR



為了執(zhí)行程序并且獲得可管理執(zhí)行環(huán)境的所以好處,我們用CLS支持的.NET框架語言編寫代碼。語言編譯器將源代碼編譯成由CPU相關的代碼和平臺相關的指令組成的MSIL代碼。MSIL有下列組成:

能夠執(zhí)行算術和邏輯運算的指令。
直接訪問內存。
控制執(zhí)行流
處理異常
MSIL代碼能夠在執(zhí)行前被編譯成特定CPU指令,CLR所需要代碼的信息只有元數(shù)據(jù)。元數(shù)據(jù)描述代碼并且定義代碼類型包括引用代碼在運行期用到的其他類型。
一個裝配器由精簡的可執(zhí)行文件組成。當執(zhí)行PE文件的時候類加載器價載MSIL代碼而元數(shù)據(jù)把精簡的可執(zhí)行文件編成運行時內存。
PE文件執(zhí)行之前它將代碼傳遞到本地代碼編譯器進行編譯,IL到本地代碼的編譯是有JIT編譯器完成的。因為不同的CPU架構和編譯器 IL代碼到本地指令。



CLR的特點

被管理的多線程支持和線程監(jiān)控。應用程序域包括一個或多個執(zhí)行線程。
管理不安全代碼的互用性,和COM配置。
結構化的異常處理機制
基礎架構和被管理執(zhí)行進程,內存管理和垃圾收集
CLR的結構







基類庫支持支持所有使用.NET語言來支持基本功能性的基類。
COM配置支持COM對象間數(shù)據(jù)的重組。
異常管理支持使用try catch finally語句塊在運行時處理錯誤。
安全引擎在運行時加強安全規(guī)則。
類型檢查器在運行時作類型安全檢查。
調試引擎支持運行時調試。
代碼管理器管理運行時被管理代碼
IL到本地代碼編譯器將MSIL代碼編譯成機器相關的本地代碼
垃圾收集器支持內存管理并支持清理運行時廢棄的內存。
類加載器在運行時加載類。
理解JIT編譯器

JIT編譯器作為CLR的一個完整的部分將MSIL代碼編譯成本地代碼并且實時執(zhí)行整批代碼。代碼將會被緩存而下次就會從緩存中讀取代碼再次編譯執(zhí)行(翻譯不出來)

JIT執(zhí)行進程

CLR類加載器加載MSIL代碼并且將元數(shù)據(jù)加載到內存;代碼管理器調用WinMain或DllMain方法。JIT編譯器在其入口方法執(zhí)行之前編譯這個方法。代碼管理器將對象放置在內存中并控制代碼的執(zhí)行。垃圾收集器實現(xiàn)對管理堆的周期性檢查識別應用程序的無效對象。


程序執(zhí)行時類型檢查器確保所有對象和值以及對象和值的引用有其合法的類型。類型檢查器也保證代碼的唯一合法操作,否則就拋出異常。代碼在運行時由CLR控制。CLR在以下行為上增強安全性:

像硬盤一樣控制和訪問系統(tǒng)資源
控制和訪問網絡連接
控制和訪問其他硬件資源
被管理代碼執(zhí)行


被管理代碼執(zhí)行被認為是由CLR執(zhí)行的進程,具體有以下幾個方面:

CLR加載MSIL和應用元數(shù)據(jù)
CLR執(zhí)行本地代碼,
CLR提供自動內存管理
被管理的執(zhí)行也實現(xiàn)JIT編輯
封裝類型安全,
增強安全性
處理異常
被管理的執(zhí)行進程

被管理代碼是自解釋性的代碼,它在.NET框架中給CLR多運行時服務的信息。
這些信息在PE文件里以元數(shù)據(jù)的形式被存儲在MSIL代碼中。元數(shù)據(jù)信息會描述代碼包含的類型。
被管理數(shù)據(jù)是由垃圾收集器自動被分配和釋放的。被管理代碼能被被管理數(shù)據(jù)理解而非管理數(shù)據(jù)能被被管理理解。(翻的不正確)
內存管理

自動內存管理意味著當對象創(chuàng)建時不需要編寫代碼分配內存或是當應用程序不需要對象時釋放內存。
自動內存管理的進程包括下列任務:



?分配內存



當一個進程被初始化時,運行時保留了一個連續(xù)的地址空間而不為它分配任何存儲空間。
這個保留的地址空間被叫做托管堆。托管堆在下一個對象被放置的地方保留了一個指針。
當一個應用程序使用new操作符創(chuàng)建一個對象時,new操作符檢查堆內對象所需的內存是否可用。
當下一個對象創(chuàng)建的時候,垃圾收集器在托管堆分配內存給對象。
在托管堆分配內存給對象的時間比分配非托管堆內存耗時要少。
在非托管堆中,指向內存的指針在鏈表數(shù)據(jù)結構中維護。因此,分配內存需要通過操縱鏈表,尋找能夠容納它的較大的內存塊。(此處原文不全)
與訪問非托管內存相比你能更快地訪問托管內存的對象,因為在托管內存分配時,對象總是在托管的地址空間中分配。
?釋放內存




垃圾收集器周期性地應用程序不再需要的對象中釋放內存。
每個應用程序有一組根指針。根指針指向在托管堆存儲位置。每個根指針或者引用托管堆中的一個對象或是被置成空。
一個應用程序的根指針由線程棧上的全局靜態(tài)指針,局部變量和引用對象參數(shù)組成。
JIT編譯器和運行時維護應用程序根指針的列表。垃圾收集器使用這個列表創(chuàng)建從根指針列表中獲得的在托管堆中的對象圖表。
當垃圾收集器開始運行,它把在托管堆中的所有對象都看作垃圾。
垃圾收集器通過應用程序的根指針列表操作,這個列表定義了在應用程序根指針列表中有相應的引用的對象并對可獲得的對象標記。
垃圾收集器也把這樣的對象作為可獲得對象。(不知道是什么意思)
垃圾收集器認為所有托管堆中不可獲得的對象是垃圾。
垃圾收集器通使用收集進程釋放垃圾對象空間。
垃圾收集器使用內存復制功能來壓縮托管堆中的對象。
垃圾收集器更新應用程序根指針列表中的指針,使得指向較早的應用程序根指針正確指向對象。
垃圾收集器使用高度優(yōu)化的機制完成垃圾收集。它把托管堆中的對象分為三級:0、1、和2。第0級包括最近被創(chuàng)建的對象。
垃圾收集器開始在第0級收集不可獲得的對象。接著,垃圾收集器緊縮內存并將可獲得對象提升為第1級。
幸免于收集進程收集的對象被提升為更高的級別。
垃圾收集器在第1級和第2級搜索不可獲得的對象,僅當通過第0級對象的收集進程釋放的內存不足以創(chuàng)建一個新的對象時。
垃圾收集器為所有應用程序創(chuàng)建的托管對象管理內存。
垃圾收集器能通過在對象等Dispose方法中提供清除代碼來顯式釋放這些系統(tǒng)資源。
我們在對象完成工作后需要顯式調用Dispose方法。
?實現(xiàn)完成器

完成器進程允許一個對象在垃圾收集器啟動之前完成清理工作。
Finalize方法確保了即使客戶沒有顯式調用Dispose方法,所使用的資源在對象被垃圾收集時也會從內存被釋放。
在垃圾收器集進行垃圾收集時識別對象是垃圾后,它在釋放內存前調用對象的Finalize方法。
完成器是包含在對象收集之前被執(zhí)行的清理代碼的方法。執(zhí)行清理代碼的進程被叫做終結。Dispose和Finalize方法被叫做完成器。
對象的Dispose方法會釋放所有資源,包括它的父對象擁有的資源通過調用父對象的Dispose方法。
我們有兩個方法執(zhí)行Dispose方法:
類用戶能夠調將被銷毀對象的Dispose方法,或者
Finalize方法能在終結過程中調用Dispose方法。


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        亚洲欧美一区二区三区孕妇| 国产毛片精品一区| fc2成人免费人成在线观看播放| 亚洲国产精品一区二区www在线| 日韩欧美www| 91精品国产综合久久久蜜臀图片| 一本久久a久久精品亚洲| 国产a级毛片一区| 国产**成人网毛片九色| 国产主播一区二区| 国产精品资源在线观看| 国产成人在线电影| 波多野结衣91| 欧美视频一区在线| 欧美精品日韩综合在线| 欧美一区二区成人6969| 欧美xxxxxxxx| 欧美裸体一区二区三区| 欧美一区三区二区| 久久综合av免费| eeuss鲁一区二区三区| 99久久婷婷国产综合精品| 欧洲色大大久久| 欧美电影影音先锋| 亚洲精品在线观看视频| 中文字幕乱码日本亚洲一区二区| 亚洲人妖av一区二区| 亚洲一区二区不卡免费| 久久国产麻豆精品| 成人黄色免费短视频| 91免费视频观看| 91精品欧美福利在线观看| 久久久久久夜精品精品免费| 亚洲老妇xxxxxx| 亚洲另类在线一区| 另类专区欧美蜜桃臀第一页| 粗大黑人巨茎大战欧美成人| 欧美三级三级三级| 精品久久五月天| 亚洲自拍偷拍av| 国产原创一区二区三区| 在线观看免费亚洲| 久久综合精品国产一区二区三区| 亚洲裸体xxx| 精品一区二区三区香蕉蜜桃| 色欧美日韩亚洲| 久久综合九色欧美综合狠狠 | 国产亚洲欧美日韩俺去了| 亚洲精品自拍动漫在线| 另类小说欧美激情| 欧日韩精品视频| 日韩欧美国产电影| 亚洲狠狠丁香婷婷综合久久久| 国产一区二区久久| 91麻豆蜜桃一区二区三区| 欧美精品一区二区三区蜜桃 | 综合久久综合久久| 国产精品18久久久久久久久久久久| 日韩欧美亚洲另类制服综合在线 | 天天操天天色综合| 欧美日韩国产首页在线观看| 天天综合网 天天综合色| 在线成人高清不卡| 韩国一区二区三区| 久久久久久久久岛国免费| 懂色中文一区二区在线播放| 综合久久国产九一剧情麻豆| 欧美视频一区二区在线观看| 天天影视色香欲综合网老头| 久久久久久夜精品精品免费| eeuss鲁片一区二区三区在线看| 亚洲综合色丁香婷婷六月图片| 91精品在线观看入口| 高清久久久久久| 亚洲成人资源网| 国产婷婷一区二区| 欧美年轻男男videosbes| 国产精品资源在线| 亚洲成a人在线观看| 欧美激情一区二区三区全黄| 欧美日韩你懂的| 丰满亚洲少妇av| 日韩精品视频网| 亚洲欧洲国产日韩| 精品国产乱码久久久久久图片 | 欧美96一区二区免费视频| 中文字幕第一区| 欧美一区二区三区影视| 99久久久久免费精品国产| 日本中文一区二区三区| eeuss鲁片一区二区三区| 亚洲女女做受ⅹxx高潮| 337p粉嫩大胆噜噜噜噜噜91av| 色拍拍在线精品视频8848| 国产一区三区三区| 日韩精品视频网站| 一区二区三区美女| 国产亚洲人成网站| 精品久久久久久久久久久院品网| 一本一道久久a久久精品 | 337p日本欧洲亚洲大胆精品| 欧美日韩一区高清| 色综合久久中文字幕综合网| 国产精品羞羞答答xxdd| 日本亚洲电影天堂| 午夜视频一区在线观看| 亚洲激情五月婷婷| 亚洲激情网站免费观看| 亚洲天堂网中文字| 国产精品久久久久三级| 精品处破学生在线二十三| 日韩欧美一二三区| 日韩免费高清av| 欧美v国产在线一区二区三区| 91精品国产乱码| 91精品福利在线一区二区三区| 欧美在线综合视频| 色诱视频网站一区| 色综合天天做天天爱| 91丨九色丨国产丨porny| av一区二区三区| 97久久精品人人爽人人爽蜜臀| 91视频一区二区三区| 99久久精品久久久久久清纯| kk眼镜猥琐国模调教系列一区二区| 国精产品一区一区三区mba视频| 免费看精品久久片| 精品综合久久久久久8888| 国产一区激情在线| 国产不卡视频一区二区三区| 粉嫩av一区二区三区| 成人在线综合网| 99久久婷婷国产综合精品电影| 91浏览器打开| 欧美日韩一级黄| 在线精品国精品国产尤物884a| 欧美图片一区二区三区| 欧美xfplay| 中文字幕一区二区三区不卡| 伊人婷婷欧美激情| 日韩av中文字幕一区二区三区| 日本va欧美va精品发布| 九九精品视频在线看| 成人永久aaa| 欧美日韩一区高清| 日韩欧美国产高清| 中文字幕乱码日本亚洲一区二区| 尤物视频一区二区| 久久99国产精品尤物| 9色porny自拍视频一区二区| 欧美日韩一区高清| 久久久久免费观看| 亚洲成av人片在线| 国产激情视频一区二区在线观看| 99在线视频精品| 精品日韩一区二区三区| **性色生活片久久毛片| 美女一区二区视频| 欧美在线999| 久久精品综合网| 日韩精品久久久久久| 丁香一区二区三区| 日韩一级二级三级| 亚洲六月丁香色婷婷综合久久 | 欧洲日韩一区二区三区| 国产欧美久久久精品影院| 午夜电影一区二区| 91免费版pro下载短视频| 欧美一区二区福利在线| 一区二区三区在线看| 粉嫩aⅴ一区二区三区四区五区| 91精品国模一区二区三区| 亚洲人成影院在线观看| 国产suv精品一区二区883| 欧美一区二区三区男人的天堂| 日韩毛片一二三区| 国产高清在线精品| www久久久久| 老色鬼精品视频在线观看播放| 在线视频你懂得一区| 中文字幕va一区二区三区| 免费观看一级特黄欧美大片| 欧美性极品少妇| 亚洲少妇30p| 99精品欧美一区二区三区综合在线| 久久免费看少妇高潮| 麻豆国产精品777777在线| 666欧美在线视频| 亚洲成国产人片在线观看| 欧美亚洲国产怡红院影院| 亚洲激情图片qvod| 欧美色国产精品| 亚洲激情一二三区| 色成年激情久久综合| 亚洲久本草在线中文字幕| www.久久久久久久久| 中文字幕日韩精品一区| av在线一区二区三区| 亚洲精品久久嫩草网站秘色| 日本韩国一区二区三区视频|