Sun公司已經開放了對java技術的最後限制,並且鼓勵在linux發行版中集成java平臺和netbeans框架,在未來的時間內java很可能成為linux的內建功能。
對java技術的實現,目前有三種方式:java虛擬機、java作業系統、java硬體系統(java卡),目前應用最廣泛的是java虛擬機,但無疑用作業系統來實現java功能可以獲得更高的性能。蘋果的Mac OS X就是作業系統級的java實現。
目前java技術的主要對手是微軟公司的.net技術。微軟公司一直宣稱.net平臺比java有更好的性能,並且將原因歸功於即時編譯技術(JIT)。但java從1.3開始就內置了JIT編譯器和Hotspot虛擬機,有興趣的可以去看看Java JIT編譯器大戰的資料。.net平臺的性能,更多的來源於與windows系統的緊密集成,只是微軟不敢這麼說。
一直依賴人們對java都存在誤解,即java是靠虛擬機解釋執行java字節碼運行的,java一定比編譯執行的C++要慢,不適合做桌面程式。但實際上,java程式在運行的時候,字節碼只被解釋執行一次,而後都是以機器碼運行的。java程式運行的速度相當快,別告訴我你還在用java 1.4.2。另外java的可執行文件是JAR格式而不是class。JAR是可以雙擊執行的。
現在java程式的運行速度跟.net平臺相比,在性能上差的僅僅是與系統集成度那麼一點。如果linux內建java虛擬機,這最後一點差距也可以彌補。同時以java開發linux桌面程式,也可以解決linux程式依賴性眾多移植難度大的問題。
.net平臺上最重要的應用是ASP.net,於此相對應的是java平臺的JSF(JSP的升級版)JSF同樣支援可視化網路編程。由於Sun公司的宣傳力度的問題,JSF的知名度不及ASP.net,但JSF在功能上毫不遜色與ASP.net。JSF與ASP.net的差別,正如JSP與ASP的差別一樣,JSF比ASP.net要難一點,但功能和可定製程度更強。
http://big5.ccidnet.com:89/gate/ ... 0507/1442283_1.html