《C#從現象到本質》讀書筆記(一)第1章 .NET基礎知識


最近根據博客園大神的推薦,買了本《C#從現象到本質》。做一點讀書筆記。

由於不懂IL和ildasm,winddg,太深奧,理解不了,就牛嚼草一樣,先總結第一遍讀書,自己總結的知識點了。不知道這樣會不會侵權,如果侵權了,請告訴我,我撤銷這些。

第一部分“基礎知識”

第1章 .NET基礎知識

CLR:公共語言運行時

CTS:公共語言系統

CLS:公共語言規范

FCL:框架類庫

BCL:基礎類庫

CLI:公共語言基礎設施

DLR:動態語言運行時

TPL:任務並行庫

JIT:即時編譯

COM:組件對象模型

GAC:全局程序集緩存

.NET框架其最主要的兩個組成部分是公共語言運行時(CLR)和框架類庫(FCL),基礎類庫(BCL)是框架類庫的一個子集。運行於底層的是公共語言運行時CLR,它是公共語言基礎設施(CLI)的一個實現。CLR最主要的兩個組成部分是CTS(公共語言系統)和CLS(公共語言規范)。

.NET框架的主要結構

編程語言轉化成機器碼,轉化的過程分為兩種主要的形式,即編譯和解釋。

IL語言是一個基於棧的、面向對象的高級語言。

托管代碼是必須在CLR下執行的代碼,而非托管代碼則不需要CLR的支持就可以運行。

FCL就是我們用到的所有外部參考,而BCL是其中不需要手動引用的那部分。

不同的程序集可以共享一個命名空間。

程序集是一個可以寄宿於CLR中的、擁有版本號的、自解釋、可配置的二進制文件,程序集的擴展名為exe或dll。

CLR是和程序集一起工作的。

單模塊程序集的結構就是它的托管模塊加上清單和資源文件。在任何時候,IL代碼和元數據都是存在於托管模塊中的。

程序需要資源時才會加載對應的程序集。

IL中的關鍵字可以分為三類:指令、特性和操作碼。

程序集的IL和元數據支撐着.NET的運作。IL為各種框架語言建立了一個共同的編譯目標,也為接下來的JIT編譯做准備。JIT是最終翻譯為機器碼的編譯器,它會做更多的優化,並通過使用不同的編譯方式來利用這些優化。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM