昇陽於12月21日在臺正式發表Java SE(Standard Edition) 6,其中最重要的革新是支援動態語言(Script Language)以及強化桌面應用的效能。支援動態語言,將簡化Web開發的困難度,並有機會吸引PHP與JavaScript廣大的使用者選擇Java陣營。而桌面應用方面,Java SE 6提供更好的圖形處理與硬體加速,有助於破除Java效能不好的壞印象。

昇陽首席架構師龔紀昶指出,Java SE 6的新功能包括內建支援Web Services,毋需額外下載套件(Package)、支援動態語言、具備實驗性質的資料庫Derby、提供更多Windows API、更多監控與管理的API、可動態編譯與執行Java程式碼、更多Annotation(註釋)的應用,並強化電子簽章與加密機制等。

龔紀昶認為:「支援動態語言以及強化桌面應用程式的效能兩項革新最為重要。」Web 2.0的興起,大家感受到PHP、JavaScript以及Ruby等動態語言的靈活與快速開發的威力,因此JCP(Java Community Process)決定順應潮流,提供Java支援動態語言的能力,Java SE 6中以支援JavaScript為示範,提供Java與JavaScript互動的介面,使用者可至Java.net網站下載其他動態語言的套件。

從社群的反應來看,Java講師兼暢銷書作者林信良表示:「如果Java可以操控動態語言,等於幫Duke插上翅膀。」此舉可以吸引動態語言的使用者,加入Java平臺,也可增加Java的彈性。許多JavaScript很容易做到的事,Java要繞很多路才能辦到。現在前端交給JavaScript執行,後端由Java取得結果會方便很多,而且修改JavaScript也比修改Java的程序簡單。

昇陽不久前雇用了開放源碼JRuby最重要的兩位開發者,未來NetBeans 6.0也將提供JRuby的外掛套件(Plug-In)。JavaWorld的版主林康司表示:「非常樂見Java擁抱動態語言的趨勢。」

此外,過去針對桌面應用程式的圖形處理,必須在虛擬平臺上(JVM)重新繪製,卻也相對拖慢了執行的效能,Java SE 6直接呼叫作業系統底層的API繪製部分組件,尤其Java 2D方面,在Windows上利用硬體加速,有效地增進執行效能。

強化桌面應用也是社群非常肯定的發展,林信良表示:「Java SE 6桌面應用的改進非常顯著,啟動速度已接近編譯式語言。」「Java效能不好」的餘毒始終存在於許多開發者的心中,此次效能的改進,將有助於Java走向桌面應用,也可吸引更多的開發者接受Java。

另一個龔紀昶認為很重要的新功能,是編譯器可動態編譯與執行,以JSP為例,過去修改網頁必須重新編譯、部署、重新啟動才能正確執行,未來程式可以自動編譯並省下部署的麻煩。如此一來,未來Java的應用程式可以有更多的變化,甚至由程式動態產生程式,然後自動編譯與執行,設計上將有更多的可能性。

事實上,Java SE 6並沒有語言上的變更,改變不似Java SE 5.0劇烈,多數是延續及強化既有的機制。對於Java開發者而言,升級最大的瓶頸不在6.0版,林康司表示:「很多Java開發者仍停留在1.4的版本。」

Java SE 5語法的改變,例如泛型(Generic)或者Annotation的使用,令許多Java老手感到不適應,因此從1.4到5.0的升級出現了停滯的現象,昇陽也希望藉由6.0版效能的大幅改進,說服使用者直接從1.4躍升到6.0的平臺。文⊙李延華


圖左為Java程式直接執行於Java SE 6及J2SE 5.0的效能;右為調校JVM後的效能差異。資料來源:http://blogs.sun.com/dagastine/

熱門新聞

Advertisement