免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
快速理解.NET Framework (1)

引言

本文著眼于微軟.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è)標準信息來確?;?/span>.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í)行

 

 



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的體系結構

理解.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的結構



 

 

CLR的特點

  • 被管理的多線程支持和線程監(jiān)控。應用程序域包括一個或多個執(zhí)行線程。
  • 管理不安全代碼的互用性,和COM配置。
  • 結構化的異常處理機制
  • 基礎架構和被管理執(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的結構



 

 

CLR的特點

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

CLR的結構



 

 

    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的結構



 

 

CLR的特點

  • 被管理的多線程支持和線程監(jiān)控。應用程序域包括一個或多個執(zhí)行線程。
  • 管理不安全代碼的互用性,和COM配置。
  • 結構化的異常處理機制
  • 基礎架構和被管理執(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的結構



 

 

CLR的特點

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

CLR的結構



  • 基類庫支持支持所有使用.NET語言來支持基本功能性的基類。
  • COM配置支持COM對象間數(shù)據(jù)的重組。
  • 異常管理支持使用try catch finally語句塊在運行時處理錯誤。
  • 安全引擎在運行時加強安全規(guī)則。
  • 類型檢查器在運行時作類型安全檢查。
  • 調試引擎支持運行時調試。
  • 代碼管理器管理運行時被管理代碼
  • IL到本地代碼編譯器將MSIL代碼編譯成機器相關的本地代碼
  • 垃圾收集器支持內存管理并支持清理運行時廢棄的內存。
  • 類加載器在運行時加載類。
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
常用的.NET面試問題 - 1
C#技術漫談之公共語言運行庫(CLR)
CLR 這些年有啥變化嗎?
淺談Visual Studio.NET的學習
使用.net 2003中的ngen.exe編譯.net程序
Beginning C# 2008讀書筆記系列―― 介紹C# - 思索、堅韌、創(chuàng)新、成長 ...
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服