根據C#入門經典(第五版)html
第一部分 C#語言編程
疑問:託管代碼(managed code) 非託管代碼瀏覽器
http://www.cnblogs.com/bobomail/archive/2005/05/03/149040.html安全
.NET Framework 能夠建立Windows應用程序、Web應用程序、Web服務和其餘各類類型的應用程序 + Silverlight。 跨平臺體如今Web方面,有瀏覽器均可以訪問
NET Framework主要包含一個代碼庫。通用類型系統CommonTypeSystem,公共語言運行庫CommonLanguageRuntime(負責管理用.NET庫開發的全部應用程序的執行)。操作系統
編程:
執行C#代碼,將其轉換爲目標操做系統可以理解的語言,即編譯過程
編譯過程包括兩個階段:
【CIL 和 JIT】· 先把代碼編譯爲通用中間語言CommonIntermediateLanguage
· Just-In-Time編譯器(僅在須要時才編譯)的任務,把CIL編譯爲專用於OS和目標機器的本機代碼調試
【程序集】code
編譯應用程序時,建立的CIL代碼存儲於一個程序集中,程序集包括可執行文件.exe和其餘應用程序使用的庫.dll。htm
此外,程序集還包含元信息(數據信息)和可選資源blog
託管代碼內存
代碼編譯爲本機代碼後,CLR須要管理正在執行的.NET Framework編寫的代碼,管理內存、處理安全性以及容許進行跨語言調試等。
代碼託管的最重要功能——垃圾回收。.NET肯定應用程序再也不使用某些內存時,徹底釋放內存。