已經有14歲的Java在日新月異的IT技術領域內不算年輕,但它一直沒有停下變革,創新的腳步。Java已經不單單是一種計算機語言,很多情況下,我們稱它是一個平台,一個社區,以及一個生態系統。下面從JavaSE,Java EE, Java ME, JavaFX幾個方面,簡要介紹一下Java技術在2009年的變化和趨勢。
JavaSE
目前JDK的正式版本是JDK 6 Update 12。JDK 6 Update 10以來的版本, 關鍵功能包括:
Java內核大大縮小了,由原來的大約十幾兆縮小到4兆,這樣提高了啟動Java程序的速度。而其它的Java庫在需要的時候可以後台下載,這樣也縮短了等待和安裝的時間。
下一代的Plug-in架構。t運行在自己的進程中,而不再依賴浏覽器,提高了性能和可伸縮性。在2008JavaOne有一段很酷的演示,就是將t直接從浏覽器中拖拽到桌面上,或者從桌面上拖到浏覽器中。這個功能的實現有賴於JDK6中重寫了連接Java運行環境和浏覽器的代碼。這個新的Plug-in架構還提供一個有意思的功能,可以在Web頁面通過t調用Web頁面上任何的t,不管這個t是用哪種語言寫的,比如JavaFX t, JRuby, Jython。
這裡要提到JDK6中Java虛擬機(JVM)對動態語言的支持(JSR223)。這個框架可以使Java應用程序中支持腳本引擎,這樣各種腳本語言就可以運行在JVM上。JVM發展的一個重要方向就是去掉“J”,讓JVM成為能支持各種語言的,全能的“VM(虛擬機)”。目前JVM支持的腳本語言包括:JavaFXt,Groovy, JRuby, Jython, t,Scala,Clojure。可以預計到的是,將來會有更多的腳本語言運行在Java虛擬機上。
還在草案階段的JDK7,一些新特性也值得期待:
一個是實現JDK 7模塊化(JSR 294, JSR 277),將與OSGi聯盟更緊密的配合,以便JSR294模塊可以被OSGi所使用。
另外一個是並行包。這個包致力於通過充分利用底層硬件來達到真正的並發。隨著硬件多核系統的廣泛應用,並行計算的需求對Java的性能提出了更高要求。
Java EE
Java EE
6 (JSR 316)的公眾審議將在2009年2月23號結束。Java EE 6繼承了JavaEE5改進的目標,就是簡化開發,另外,還增加了一個目標,更好地滿足開發人員的需求。關於JavaEE6的討論持續了很長時間,而爭議最大的就是Java EE 6引入的Profile。
Java EE
十年來的發展結果,是這個平台變得越來越龐大,但對很多用戶和開發者來說,也許他只需要使用眾多功能中的很小一部分,卻不得不安裝整個平台。Profile就是為解決這個問題而定義的。Profile實際上是JavaEE API的子集。討論最熱烈的WebProfile就集中在,哪些API應該被放在標准Profile中?
Jave EE 6包括了一系列的新技術和升級,篇幅所限制,僅羅列一些名詞:WebBean 1.0, JSF 2.0,EJB3.1, JPA 2.0, Servlet 3.0, JAX-RS 1.1。
Java ME
Mobile Service Architecture 2 (MSA 2) 目前已經到了公眾審議的尾聲(JSR249)。預計2009年,MSA 2將進入實用階段。MSA2是下一代JavaME平台技術,提供了更多移動開發的新特性,比如可以訪問手持設備上的各種傳感器,如加速計傳感器,電池容量(JSR256);可以在手機上看電視(JSR272);如同信用卡支付功能的手機錢包(JSR 257); 使用XML,腳本,與Java一同構造GUI (JSR290);通過手機使用VOIP服務(JSR 281)。
JavaFX
Java在企業應用程序的開發中一直占主導地位,但現在面向消費者的富互聯網應用(Rich InternetApplication,RIA)軟件數量在急劇增加,這種情形下,JavaFX應運而生。和Java語言相比,JavaFXt更適合開發高效,快速地開發集合各種媒體,交互性強,界面吸引用戶的RIA應用程序。2009年2月,JavaFXSDK 1.1 與JavaFXMobile都正式發布了,下一個要期待的是JavaFXTV。借助Java這個強大的平台,JavaFX目標是提供給開發者更好的RIA平台與技術,除了繼續要在傳統的PC桌面保持優勢外,更是面向未來的終端設備,手機和電視。
JAVA是有SUN公司開發的新一代編程語言,它可以用在各種不同的機器、操作系統的網絡環境中進行開發。不論你使用哪種浏覽器或者使用哪種操作系統(Windows、Unix等等),只要浏覽器支持JAVA,你就可以看到生動的主頁。JAVA正在逐步成為Internet應用的主要開發語言,它徹底改變了應用軟件的開發模式,為迅速發展的信息世界增添了新的活力。所以作為Internet應用的開發技術人員不可不看JAVA,而Java程序不可不先從基礎學起。