了解Java,便了解了微軟.NET
www.javaunion.org 2001-3-12 15:39:21
人們對於美國微軟在經過精心策劃後於6月宣布的“Microsoft.NET”的設想是見仁見智。在傳媒中“目前還很難說”的反應居多。實際上,由於具體產品開始出籠還是2~3年以後的事,現在說三道四確實為時尚早。
這裡有一把可以用來快速理解Microsoft.NET的鑰匙。那就是先了解Java技術。這是因為微軟自己就說過,“只要知道Java就可以更快地理解Microsoft.NET”。
Microsoft.NET有幾個關鍵點。其中最重要的一點是改革商務模型。微軟公司感覺到只靠銷售軟件包的商務模型沒有什麼前途,該公司打算今後將中心轉移到可以在網絡上使用的“服務”型商務。
這樣,首要的問題就是解決網絡上用來開發並執行“服務”的平台,這就是Microsoft.NET。這一平台應該是一個繼承了目前的Windows資產,同時又是一個不比與其競爭的技術(即Java技術)遜色的現代化的東西。
新的平台試圖提高開發生產效率(再也不想為內存溢出錯誤(Memory Leak Error)而煩惱了!),並且試圖使應用軟件的發布更為容易(再也不想因為DLL版本不同而煩惱,希望不用重新啟動電腦就能夠安裝應用軟件)。為此,就需要將平台升級為現代化的內容。而且,Microsoft.NET的藍圖與Java十分相似。
Microsoft.NET平台將推動程序執行環境的虛擬化進程。使用編程語言編寫的代碼,首先轉換成中間代碼“IL”後,在虛擬機“Common Language Runtime”上執行。在執行時利用“JIT(Just In Time)編譯器”,通過將中間代碼轉換為本地代碼(Native Code)來提高執行速度。此外,還配備實現內存管理自動化的GC(垃圾收集器,Garbage Collector)以及驗證中間代碼的機制。此外還有可以在虛擬機環境中利用的共同層次程序庫(Class Liblaory)“Microsoft.NET Framework”
所有這些特征與Java平台驚人地相似。均具有提高開發生產效率,容易發布軟件(安裝時只需單純復制即可)等特征。這些都與Java技術一致。
當然,Java與Microsoft.NET除了相似之處還有很多不同的地方。通過這些區別,就可以發現這兩個技術在今後角逐時的力學關系。以下是主要的區別。
(1)Java技術目前就可以利用。Microsoft.NET的登台還要等2~3年。
(2)Java是采用一種語言(Java語言)開發的。而Microsoft.NET則可以接受利用Visual Basic和新的語言C#,以及所有的編程語言開發軟件。