轉-,net幾個熱點問題

來源:互聯網
上載者:User

原文地址:http://kb.cnblogs.com/page/42217/?page=1

     以下收集了關於.NET幾大熱點問題及簡要答案,防止我們回答問題不專業的尷尬。同時還將一些.NET資源的相關網址羅列一二。

 一.什麼是.Net?它主要包括什嗎?
      .Net是為簡化在第三代網際網路的高分布式環境下的應用程式開發,基於開放互連網標準和協議之上,實現異質語言和平台高度互動性,而構建的新一代計算和通訊平台。
      .Net主要包括普通語言運行時(Common Language Runtime)和.Net構架類庫。

二..Net主要的優點有哪些?
      .Net的主要優點有跨語言,跨平台,安全,以及對開放互連網標準和協議的支援。
      .Net支援多種語言的互操作,即在一種語言下開發的組件,可在另一組件下通過物件導向的繼承而得以重用,目前.Net支援的語言達二十多種。
      .Net通過將各語言先編譯成中繼語言(IL),然後再執行時用即時(Just In Time)編譯器將之編譯成本地平台代碼來實現異構平台下對象的互操作,目前.Net支援的平台有Windows,Linux和Unix的支援正在開發中。
      .Net通過普通語言運行時(Common Language Runtime)來實現資來源物件,類型的安全。
      .Net通過對HTTP,XML,SOAP,WSDL等Internet標準的強勁支援提供在異構網路環境下擷取遠程服務,串連遠程裝置,互動遠程應用的編程介面.

三..Net中的普通語言運行時(Common Language Runtime)指什麼?它在.Net中處什麼位置?
      CLR(Common Language Runtime)普通語言運行時是整個.net framework構建的基礎,是實現.Net跨平台,跨語言,代碼安全等核心特性的關鍵。它實際上是駐留在記憶體裡的一段代理代碼,負責在整個.net整個執行期間的代碼管理工作,比較典型的有:記憶體管理,線程管理,遠端管理,代碼強制安全類型等。這些都可稱得上.net framework的生命線。實際上,普通語言運行時代理了一部分作業系統的管理功能。

四..Net構架類庫是什嗎?包括哪些內容?
      .Netl構架類庫是基於運行時物件導向的特性而建造的,和普通語言運行時緊密整合的一族可重用類(Class)的集合。它大大簡化了軟體開發的難度,而且很容易與第三方組件無縫整合。
      .Net架構類庫主要包括對一下編程模型的支援:
      1. 控制台應用程式。
      2. 指令碼和宿主應用程式。
      3. Windows Forms應用程式(Windows 案頭GUI應用程式)。
      4. ASP.Net應用程式。
      5. Web Services應用程式。
      6. Windows 服務程式

五..Net支援的開發語言有哪些?.Net語言的互通性是指什嗎?  
      .Net聲稱支援市面上20多種語言,但目前只有微軟官方發布的C#,Visual Basic.Net,Managed C++,和Jsript,其他廠商聲稱正在開發中的支援工具有COBOL,Eiffel,Perl,Smalltalk,Python。
      .Net語言的互通性是指遵循普通語言運行時(Common Language Runtime)規範的語言在對象繼承方面的支援,即用一種語言在.Net平台下開發的類可在另一語言中重用,這通過一種稱作微軟中繼語言MIL來實現,即語言編譯器首先將該語言編譯成微軟中繼語言,再在相應平台下編譯出本地代碼。這一切都是在普通語言運行時的規範下進行。

 六..Net支援的平台有哪些?它的跨平台實現得如何?      目前支援.Net的平台有Windows 2000, NT4 SP6a, Windows Me和Windows 98。其聲稱支援的平台有Unix,Linux等,目前有三個項目正在開發Linux下的.Net平台:Ximian公司的Mono項目,DotGNU以及 Potable .NET.     

 

七..Net與COM的關係是什嗎?.Net是否意味著COM的終結?      COM定義了組件對象間通訊的二進位標準,.Net通過組件內建的類型系統提供了類似的機制,它為此提供了另一個途經。.Net並不意味著COM的終結,但必將大大減少開發人員對COM的依賴。.Net 支援COM和.Net組件之間的互通性,實際上可通過Runtime Callable Wrapper(RCW)來實現在.Net中擷取COM組件,通過COM Callable Wrapper(CCW)來實現在COM中擷取.Net組件。     

 

八..Net中的中繼語言(IL)是什麼?它在.Net平台中起什麼作用?開發人員可以用中繼語言(IL)編程嗎?      .Net中的中繼語言是指可以在普通語言運行時規範下,.執行時通過即時(Just In Time)編譯器轉化為本地代碼的,與CPU獨立的一族指令集合。它在.Net平台中是實現語言互操作的一個核心環節,所有.Net平台的語言都要先被編譯成中繼語言(IL)。程式員也可以直接利用中繼語言(IL)來編程,但不推薦那樣做,中繼語言對理解.Net對象某些行為和程式的調試很有協助      

 

九..Net中的自動垃圾收集是什嗎?它給.Net平台下的編程帶來什麼變化?      .Net垃圾收集器負責整個.Net運行時受管代碼的記憶體配置與釋放任務。它通過一定的最佳化演算法來選擇收集的對象和時間。程式員只有在釋放大量受管資源時可以進行立即強制垃圾收集,在釋放非受管資源時採用終止化(Finalize)操作來處理,需要在程式運行中釋放的應該實現 Dispose()方法,並明確調用。其它時間將資源的回收交由.Net垃圾收集起來做。     

 

 十..Net的受管(Managed)代碼與非受管(Unmanaged)代碼指什嗎?他們的編碼有什麼區別?      .Net的受管代碼(Managed Code)是指符合普通語言運行時(Common Language Runtime)規範,在記憶體中受運行時代碼代理進行記憶體管理,線程管理,遠端管理,代碼強制安全類型的代碼。非受管代碼指對記憶體,檔案,資料庫等非受管資源進行操作的代碼,他們通常不受運行時代碼代理管理,是不安全的。對受管代碼的編程只需專註於編程的邏輯,對於記憶體等資源的管理交由普通語言運行時 (Common Language Runtime)來負責,而對非受管代碼的編程,則要開發人員精心負責各種非受管資源的分配和回收工作。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.