明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

知道Java,便知道了微軟.NET

[摘要]了解Java,便了解了微軟.NET www.javaunion.org2001-3-12 15:39:21 人們對于美國微軟在經(jīng)過精心策劃后于6月宣布的“Microsoft.NET”的設(shè)想是見仁見...
了解Java,便了解了微軟.NET

www.javaunion.org2001-3-12 15:39:21



人們對于美國微軟在經(jīng)過精心策劃后于6月宣布的“Microsoft.NET”的設(shè)想是見仁見智。在傳媒中“目前還很難說”的反應(yīng)居多。實際上,由于具體產(chǎn)品開始出籠還是2~3年以后的事,現(xiàn)在說三道四確實為時尚早。

  這里有一把可以用來快速理解Microsoft.NET的鑰匙。那就是先了解Java技術(shù)。這是因為微軟自己就說過,“只要知道Java就可以更快地理解Microsoft.NET”。

  Microsoft.NET有幾個關(guān)鍵點。其中最重要的一點是改革商務(wù)模型。微軟公司感覺到只靠銷售軟件包的商務(wù)模型沒有什么前途,該公司打算今后將中心轉(zhuǎn)移到可以在網(wǎng)絡(luò)上使用的“服務(wù)”型商務(wù)。

  這樣,首要的問題就是解決網(wǎng)絡(luò)上用來開發(fā)并執(zhí)行“服務(wù)”的平臺,這就是Microsoft.NET。這一平臺應(yīng)該是一個繼承了目前的Windows資產(chǎn),同時又是一個不比與其競爭的技術(shù)(即Java技術(shù))遜色的現(xiàn)代化的東西。

  新的平臺試圖提高開發(fā)生產(chǎn)效率(再也不想為內(nèi)存溢出錯誤(Memory Leak Error)而煩惱了。⑶以噲D使應(yīng)用軟件的發(fā)布更為容易(再也不想因為DLL版本不同而煩惱,希望不用重新啟動電腦就能夠安裝應(yīng)用軟件)。為此,就需要將平臺升級為現(xiàn)代化的內(nèi)容。而且,Microsoft.NET的藍圖與Java十分相似。

  Microsoft.NET平臺將推動程序執(zhí)行環(huán)境的虛擬化進程。使用編程語言編寫的代碼,首先轉(zhuǎn)換成中間代碼“IL”后,在虛擬機“Common Language Runtime”上執(zhí)行。在執(zhí)行時利用“JIT(Just In Time)編譯器”,通過將中間代碼轉(zhuǎn)換為本地代碼(Native Code)來提高執(zhí)行速度。此外,還配備實現(xiàn)內(nèi)存管理自動化的GC(垃圾收集器,Garbage Collector)以及驗證中間代碼的機制。此外還有可以在虛擬機環(huán)境中利用的共同層次程序庫(Class Liblaory)“Microsoft.NET Framework”
所有這些特征與Java平臺驚人地相似。均具有提高開發(fā)生產(chǎn)效率,容易發(fā)布軟件(安裝時只需單純復(fù)制即可)等特征。這些都與Java技術(shù)一致。

  當(dāng)然,Java與Microsoft.NET除了相似之處還有很多不同的地方。通過這些區(qū)別,就可以發(fā)現(xiàn)這兩個技術(shù)在今后角逐時的力學(xué)關(guān)系。以下是主要的區(qū)別。

(1)Java技術(shù)目前就可以利用。Microsoft.NET的登臺還要等2~3年。

(2)Java是采用一種語言(Java語言)開發(fā)的。而Microsoft.NET則可以接受利用Visual Basic和新的語言C#,以及所有的編程語言開發(fā)軟件。

(3)Java對應(yīng)多個OS。而Microsoft.NET雖從原理上講可以對應(yīng)多個OS,不過估計目前暫時只以Windows環(huán)境為對象。

(4)在XML方案方面微軟的構(gòu)思領(lǐng)先。為了實現(xiàn)對應(yīng)網(wǎng)絡(luò)的“服務(wù)”,采用了基于XML的遠隔工程(Project)調(diào)入?yún)f(xié)議SOAP。對應(yīng)XML的協(xié)議,原則上不能局限于特定的平臺。這一點其他競爭公司也給與很高的評價。

  基于Java技術(shù)且對應(yīng)網(wǎng)絡(luò)、用來提供服務(wù)的協(xié)議還有Jini。不過,Jini是以Java為前提的技術(shù),很難說它是用來分布不同種類的技術(shù)。
微軟公司有若干他所不擅長的領(lǐng)域。尤其是在高端服務(wù)器OS、高端數(shù)據(jù)庫、大規(guī)模Web應(yīng)用軟件服務(wù)器以及Transaction中間軟件領(lǐng)域中,已經(jīng)難以同美國Sun Microsystems、美國IBM、美國Oracle以及美國BEA Systems等競爭對手一爭高低。而另一方面,在桌面領(lǐng)域中微軟依然占有壓倒性的市場占有率。該公司所擅長的領(lǐng)域,說到底還是以Visual Basic為代表的容易使用的開發(fā)工具群,和以O(shè)ffice為代表的桌面環(huán)境。

  只要在桌面環(huán)境中的膨大用戶支持該公司,就可以在網(wǎng)絡(luò)中占有一方領(lǐng)地。如果應(yīng)用Java的某個大規(guī)模Web網(wǎng)站提供優(yōu)秀的服務(wù),則只要開發(fā)出將其整合,便于使用即可。

  其結(jié)果,微軟公司為了繼續(xù)生存的最有效戰(zhàn)略,是將桌面環(huán)境中的優(yōu)勢運用到網(wǎng)絡(luò)時代--這便是聽了Microsoft.NET說明后使人感受到的。

  不過話又說回來,要想開發(fā)既繼承現(xiàn)有環(huán)境,又支持多個語言的Microsoft.NET,其難度將比開發(fā)Java技術(shù)要大。而另一方面,Java技術(shù)的開發(fā)正在穩(wěn)步前進。展現(xiàn)在微軟公司前面的路,的確是很不平坦