For investors
股價(jià):
5.36 美元 %For investors
股價(jià):
5.36 美元 %認(rèn)真做教育 專心促就業(yè)
總結(jié)了一些關(guān)于.NET的常見(jiàn)問(wèn)題與解答。這些.NET常見(jiàn)問(wèn)題對(duì)于想要了解.NET整體概念的讀者們會(huì)有一些幫助。
一 什么是.Net?它主要包括什么?
.Net是為簡(jiǎn)化在第三代因特網(wǎng)的高分布式環(huán)境下的應(yīng)用程序開發(fā),基于開放互聯(lián)網(wǎng)標(biāo)準(zhǔn)和協(xié)議之上,實(shí)現(xiàn)異質(zhì)語(yǔ)言和平臺(tái)高度交互性,而構(gòu)建的新一代計(jì)算和通信平臺(tái)。
.Net主要包括普通語(yǔ)言運(yùn)行時(shí)(Common Language Runtime)和.Net構(gòu)架類庫(kù)。
二 .Net主要的優(yōu)點(diǎn)有哪些?
.Net的主要優(yōu)點(diǎn)有跨語(yǔ)言,跨平臺(tái),安全,以及對(duì)開放互聯(lián)網(wǎng)標(biāo)準(zhǔn)和協(xié)議的支持。
.Net支持多種語(yǔ)言的互操作,即在一種語(yǔ)言下開發(fā)的組件,可在另一組件下通過(guò)面向?qū)ο蟮睦^承而得以重用,目前.Net支持的語(yǔ)言達(dá)二十多種。
.Net通過(guò)將各語(yǔ)言先編譯成中間語(yǔ)言(IL),然后再執(zhí)行時(shí)用即時(shí)(Just In Time)編譯器將之編譯成本地平臺(tái)代碼來(lái)實(shí)現(xiàn)異構(gòu)平臺(tái)下對(duì)象的互操作,目前.Net支持的平臺(tái)有Windows,Linux和Unix的支持正在開發(fā)中。
.Net通過(guò)普通語(yǔ)言運(yùn)行時(shí)(Common Language Runtime)來(lái)實(shí)現(xiàn)資源對(duì)象,類型的安全。
.Net通過(guò)對(duì)HTTP,XML,SOAP,WSDL等Internet標(biāo)準(zhǔn)的強(qiáng)勁支持提供在異構(gòu)網(wǎng)絡(luò)環(huán)境下獲取遠(yuǎn)程服務(wù),連接遠(yuǎn)程設(shè)備,交互遠(yuǎn)程應(yīng)用的編程界面.
三 .Net中的普通語(yǔ)言運(yùn)行時(shí)(Common Language Runtime)指什么?它在.Net中處什么位置?
CLR(Common Language Runtime)普通語(yǔ)言運(yùn)行時(shí)是整個(gè).net framework構(gòu)建的基礎(chǔ),是實(shí)現(xiàn).Net跨平臺(tái),跨語(yǔ)言,代碼安全等核心特性的關(guān)鍵。它實(shí)際上是駐留在內(nèi)存里的一段代理代碼,負(fù)責(zé)在整個(gè).net整個(gè)執(zhí)行期間的代碼管理工作,比較典型的有:內(nèi)存管理,線程管理,遠(yuǎn)程管理,代碼強(qiáng)制安全類型等。這些都可稱得上.net framework的生命線。實(shí)際上,普通語(yǔ)言運(yùn)行時(shí)代理了一部分操作系統(tǒng)的管理功能。
四 .Net構(gòu)架類庫(kù)是什么?包括哪些內(nèi)容?
.Netl構(gòu)架類庫(kù)是基于運(yùn)行時(shí)面向?qū)ο蟮奶匦远ㄔ斓?,和普通語(yǔ)言運(yùn)行時(shí)緊密集成的一族可重用類(Class)的集合。它大大簡(jiǎn)化了軟件開發(fā)的難度,而且很容易與第三方組件無(wú)縫集成。
.Net架構(gòu)類庫(kù)主要包括對(duì)一下編程模型的支持:
1. 控制臺(tái)應(yīng)用程序。
2. 腳本和宿主應(yīng)用程序。
3. Windows Forms應(yīng)用程序(Windows 桌面GUI應(yīng)用程序)。
4. ASP.Net應(yīng)用程序。
5. Web Services應(yīng)用程序。
6. Windows 服務(wù)程序
五 .Net支持的開發(fā)語(yǔ)言有哪些?.Net語(yǔ)言的互操作性是指什么?
.Net聲稱支持市面上20多種語(yǔ)言,但目前只有微軟官方發(fā)布的C#,Visual Basic.Net,Managed C++,和Jsript,其他廠商聲稱正在開發(fā)中的支持工具有COBOL,Eiffel,Perl,Smalltalk,Python。
.Net語(yǔ)言的互操作性是指遵循普通語(yǔ)言運(yùn)行時(shí)(Common Language Runtime)規(guī)范的語(yǔ)言在對(duì)象繼承方面的支持,即用一種語(yǔ)言在.Net平臺(tái)下開發(fā)的類可在另一語(yǔ)言中重用,這通過(guò)一種稱作微軟中間語(yǔ)言MIL來(lái)實(shí)現(xiàn),即語(yǔ)言編譯器首先將該語(yǔ)言編譯成微軟中間語(yǔ)言,再在相應(yīng)平臺(tái)下編譯出本地代碼。這一切都是在普通語(yǔ)言運(yùn)行時(shí)的規(guī)范下進(jìn)行。
六 .Net支持的平臺(tái)有哪些?它的跨平臺(tái)實(shí)現(xiàn)得如何?
目前支持.Net的平臺(tái)有Windows 2000, NT4 SP6a, Windows Me和Windows 98。其聲稱支持的平臺(tái)有Unix,Linux等,目前有三個(gè)項(xiàng)目正在開發(fā)Linux下的.Net平臺(tái):Ximian公司的Mono項(xiàng)目,DotGNU以及 Potable .NET.
七 .Net與COM的關(guān)系是什么?.Net是否意味著COM的終結(jié)?
COM定義了組件對(duì)象間通信的二進(jìn)制標(biāo)準(zhǔn),.Net通過(guò)組件內(nèi)置的類型系統(tǒng)提供了類似的機(jī)制,它為此提供了另一個(gè)途經(jīng)。.Net并不意味著COM的終結(jié),但必將大大減少開發(fā)人員對(duì)COM的依賴。.Net 支持COM和.Net組件之間的互操作性,實(shí)際上可通過(guò)Runtime Callable Wrapper(RCW)來(lái)實(shí)現(xiàn)在.Net中獲取COM組件,通過(guò)COM Callable Wrapper(CCW)來(lái)實(shí)現(xiàn)在COM中獲取.Net組件。
八 .Net中的中間語(yǔ)言(IL)是什么?它在.Net平臺(tái)中起什么作用?開發(fā)人員可以用中間語(yǔ)言(IL)編程嗎?
.Net中的中間語(yǔ)言是指可以在普通語(yǔ)言運(yùn)行時(shí)規(guī)范下,.執(zhí)行時(shí)通過(guò)即時(shí)(Just In Time)編譯器轉(zhuǎn)化為本地代碼的,與CPU獨(dú)立的一族指令集合。它在.Net平臺(tái)中是實(shí)現(xiàn)語(yǔ)言互操作的一個(gè)核心環(huán)節(jié),所有.Net平臺(tái)的語(yǔ)言都要先被編譯成中間語(yǔ)言(IL)。程序員也可以直接利用中間語(yǔ)言(IL)來(lái)編程,但不推薦那樣做,中間語(yǔ)言對(duì)理解.Net對(duì)象某些行為和程序的調(diào)試很有幫助
九 .Net中的自動(dòng)垃圾收集是什么?它給.Net平臺(tái)下的編程帶來(lái)什么變化?
.Net垃圾收集器負(fù)責(zé)整個(gè).Net運(yùn)行時(shí)受管代碼的內(nèi)存分配與釋放任務(wù)。它通過(guò)一定的優(yōu)化算法來(lái)選擇收集的對(duì)象和時(shí)間。程序員只有在釋放大量受管資源時(shí)可以進(jìn)行立即強(qiáng)制垃圾收集,在釋放非受管資源時(shí)采用終止化(Finalize)操作來(lái)處理,需要在程序運(yùn)行中釋放的應(yīng)該實(shí)現(xiàn)Dispose()方法,并明確調(diào)用。其它時(shí)間將資源的回收交由.Net垃圾收集起來(lái)做。
十 .Net的受管(Managed)代碼與非受管(Unmanaged)代碼指什么?他們的編碼有什么區(qū)別?
.Net的受管代碼(Managed Code)是指符合普通語(yǔ)言運(yùn)行時(shí)(Common Language Runtime)規(guī)范,在內(nèi)存中受運(yùn)行時(shí)代碼代理進(jìn)行內(nèi)存管理,線程管理,遠(yuǎn)程管理,代碼強(qiáng)制安全類型的代碼。非受管代碼指對(duì)內(nèi)存,文件,數(shù)據(jù)庫(kù)等非受管資源進(jìn)行操作的代碼,他們通常不受運(yùn)行時(shí)代碼代理管理,是不安全的。對(duì)受管代碼的編程只需專注于編程的邏輯,對(duì)于內(nèi)存等資源的管理交由普通語(yǔ)言運(yùn)行時(shí)(Common Language Runtime)來(lái)負(fù)責(zé),而對(duì)非受管代碼的編程,則要開發(fā)人員精心負(fù)責(zé)各種非受管資源的分配和回收工作。
以上十條.NET常見(jiàn)問(wèn)題,希望看了之后會(huì)增進(jìn)你對(duì).NET平臺(tái)的認(rèn)識(shí)。
【免責(zé)聲明】本文部分系轉(zhuǎn)載,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)?jiān)?0日內(nèi)與聯(lián)系我們,我們會(huì)予以更改或刪除相關(guān)文章,以保證您的權(quán)益!