.net的學習總結

來源:互聯網
上載者:User

       .net的概括圖

        為了使大家對.net有一個形象的整體,特粘此圖

.net和.net framework的區別

         .net是Microsoft的一個新戰略,.NET是一個概念,是一種構想,或者是微軟的一個夢想。凡是符合.net的這種概念的成果都是.net的一部分。.net的成果包括一些文檔(規範標準),工具,應用程式等等。

         .net framework是.net戰略的基石,因為有了這個,才有之上的所有,其他的所有都是在這個的基礎上才可以啟動並執行,這個是核心。對於我們來說,我們主要學習.net framework的類庫這一塊。

         從2我們也可以知道,Web服務等都是在.net framework之上建立起來的,在第一張圖上,.net framework的組成可能有些不明白,大家可以把圖2下面的3個層看成是.net framework,由於公用語言.net framework的一個理論,是一個對外的規範,一張紙,一個介面,.net framework完成或提供裡面的東西,所以自己認為公用語言是.net framework的一部分。  

        注意:有些書上把.net framework認為是.net,對於這點自己現在不這麼認為,.net framework是一個.net商品中一個最重要的組成部分。

 

.net framework的主要構件         Common Language Specification

               英文為Comman Language Specification,簡寫為CLS。Common Language Specification就是為了實現公用語言的實現,Common Language Specification是一組結構和限制,可以理解成標準,之所以有這麼一個東西就是為了使我們用各種語言編寫的程式都可以轉化為一種語言,這樣就實現了統一的原則,實現了程式和程式之間的跨語言的交流。

              Common Language Specification是給.net庫編寫者和基於.net平台上的開發語言的編譯器編寫的,基於.net開發平台的語言編譯器,使來源程式經過編譯後都變成同一個語言,即Microsoft中繼語言,簡稱MSIL(其實本質上.net平台只支援這一種語言),MSIL相當於Java的位元組碼。

 

         通用語言執行平台

               英文名稱為Common Language Runtime(CLR)。重點是“運行”兩個字,通用語言執行平台是一個機構,這個機構的功能大的嚇人,其中一個功能就是選擇正確的編譯器進行編譯(來源程式到微軟的中繼語言),另一個功能是選擇JIT(just int time)編譯器,然後把微軟的中繼語言翻譯成機器碼(處理器特定代碼),機器碼是針對一類CPU的特定代碼,所以,JIT編譯器不是一個,通用語言執行平台中提供了很多類型CPU的JIT編譯器,所以,程式可以在不同機型上運行。



              自動管理記憶體也是通用語言執行平台的功能,等等

              注意:如果Managed 程式碼調用平台特定的、本機API或平台特定的類庫,則它只能運行於特定的作業系統(不是機型)上。 

       為了是大家對於1和2的講解更加明了,特粘此圖

         .net的基礎類庫

               可以理解為函數庫,就是系統內建的一些開發好了的,現成的東西,我們只需要合理的調用就可以了,只要是基於.net的程式設計語言都共用這麼一套類庫。

 

         基礎類的一級抽象(ADO.net等)

                ADO.net等就是一些基礎類庫的一個組合,用來完成某些特定的功能。

  

               注意:對於這一塊是不是屬於.net framework的一部分,自己不是十分確定,希望看的人留言告知,在此謝謝。

 

總結

           自己在總結這一塊的時候,花了很長的時間,尤其對於.net、.net framework、.net framework sdk、IDE、.net framework的基礎類、.net framework的運行時、JDK和JRE他們之間的關係(上面的總結也涉及到這塊)總是不能很好的融合在一起,好不容易“想通了”,明天早上再看時,又不通了,當時自己很糾結,包括現在,雖然有了一些理解(上述的那些名詞,有些是一個概念的關係,有些是交集(部分)關係,有些之間沒有關係,並不是只有一個包含的關係。),但是,自己知道,這個不是那種大徹大悟。對於這一塊先放一下,但是,沒有結束。 

      具體的理解在這裡不多說了,特獻此圖,以供參考

        

不足

         這篇部落格過多的寫的是結果,過程寫的很少,可以說這篇部落格不是很成功,在這裡也給自己一個提醒,以後在寫部落格的時候,要花更多的筆墨去寫過程,而不是過多的去描述結果!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.