Java技術自問世時光已經過去了
個年頭
作為一名一直關注其成長的記者
曾經一段時間有過這樣的想法
Java技術已經成熟
是不是發展速度該放慢一些了呢
然而
這種想法錯了
近來Java技術的進化相當顯著
Java技術正在迎來
又一次革命
的風暴
這就是本文的結論
又一次
指的是什麼?
革命
指的又是什麼?光看結論的話肯定是一頭霧水
其實
筆者要講的並不是變化這樣一個事實
而是
促進變化的原動力
是什麼讓Java技術發生變化?讓我們從這一角度出發
先看一下Java的變化歷程
Java正處於轉變期 回顧Java技術的發展歷程
人們一定會感慨
年到
年發生的變化如此之大
可以說
現在
正是Java技術的轉換期
Java技術由編程語言(Java語言)
運行環境(JVM
Java虛擬機)
框架(Java API群)組成
目前在每一個層面上都發生著巨大的變化
()編程語言的變化 Java語言標准出現明顯變化
在
年
月發布的正式版本J
SE
(J
SE:Java
Platform
Standard Edition
Java技術的核心運行環境)中
對Java語言標准中的Generics與元數據進行了大幅擴展
出現了被認為是
自Java問世以來的最大一次語言標准變化
(美國Sun Microsystems)
這次語言標准的變化給許多Java API帶來了影響
許多企業API的新版本都引入了基於元數據的注解(程序中記錄的附加信息)
以較短的編碼記述更多的信息
()Java運行環境的變化 在J
SE
中
大幅度強化了JVM的管理功能與實用性
換句話說就是具備了Java執行OS(操作系統)的特征
例如
原來在J
EE (Java
Platform
Enterprise Edition
構築企業系統的Java技術)領域
標准配備有作為管理功能的應用軟件管理框架JMX
不僅如此
還配備有JVM自身監控功能((JSR
: Monitoring and Management Specification for the Java Virtual Machine)
在標准功能架構中可以實時監視JVM運行時的狀態
也就是內存使用量
線程狀態等
J
SE
中新追加的功能中包括並行處理實用程序(JSR
)
其基礎是紐約州立大學Doug Lea提供的程序庫
也就是說
標准規格中采用了來自民間的程序庫
()框架的變化 服務器端的Java框架也發生了巨大變化
企業級Java技術
J
EE的
使用方法
說明文件
J
EE Blueprint
中
提出了將應用軟件分為Web層
EJB層(Enterprise JavaBeans
將包括事務處理在內的業務進程模塊化的框架)來構築的思路
這兩種層次都迎來了架構更替時期
Web層的新框架為JSF (JavaServer Faces
將模塊組合起來構築Web應用程序的框架)
EJB層為標准方案中剛剛公布的下一代EJB規格
EJB
值得注意的是
促成框架發生變化的正是來自民間的源碼開放軟件
對JSF產生影響的是作為源碼開放的Web層框架得到普及的Apache Struts
JSF是對Struts的思路進行改進的產物
JSF的Spec Lead(規格制定領袖)之一Craig R
McClanahan就是Struts的作者
對EJB
造成影響的也是民間源碼開放軟件
EJB
引入了DI(Dependency Injection
依賴注入)容器類(Container)與POJO(Plain Old Java Object)持久類這些新功能
大大減輕了編程的復雜性
這些概念因PicoContainer
Spring等源碼開放軟件的導入而引人注目
其背景在於用戶對
目前的EJB過於復雜
的批評
原本由EJB反對派提出的設計思想與源碼開放軟件
卻變成了EJB
的中心概念
顯出了巨大的影響力
()腳本語言 在Java技術標准中新增加了編程語言Groovy(JSR
)
這是一種可與Java語言無縫連接的腳本語言
有望以極短的程序完成相關處理
在Java技術中添加Java以外的語言
這聽起來也許有些別扭
其實以前就有這樣的呼聲
希望將可以充分利用Java技術資源的腳本作為語言使用
Groovy本來是源碼開放軟件
最終得到認可
被采納為標准規格
由上述可以看出
Java技術的構成要素正在發生巨大變化
就在不久以前
一提起服務器Java
Servlet
JSP
EJB是重要的 API
這樣的說明還占主流
但現在基於JSF和EJB
的應用程序已經變成了
面目全非
的程序
而在運行短程序或測試時
甚至還出現了不僅是 Java語言
連腳本語言都開始調用Java框架的情況
這些變化從大的方面來看的話
可以說是進一步發揮了Java面向對象的優勢
當然
也包括提高開發效率
提高運行穩定性
簡化運行管理等業務上的優勢
開發者團體是真正的變革推動者 那麼
這些變化的原動力來自哪裡呢?為什麼說
目前
正面臨著
又一次變革
呢?理由如下
在Java技術的發展過程中
年到
年是一個大的轉折點
J
EE概念於
年出現
日本國內的J
EE也在隨後
~
年內得到正式普及
但這一技術體系早在
年前就已經確立
在我們眼前
新一代Java技術的輪廓正逐漸顯現出來
JCP(Java Community Process)
於
年問世
以會員制的組織形式推進Java技術的規格制訂
總體發展方向則以委員會的方式決定
從而形成了不依賴特定企業的規格制訂流程
這一組織形式歷經近
年的時間
逐漸發展成
變革的推動者
J
EE此前一直飽受批評
認為
Web層與EJB層的差距太大
EJB過於復雜
但這也是因為這是一項實際使用的技術
JCP同樣也遇到很多批評
稱其
沒有完全公開
制定的技術標准卻不可思議地讓Sun擁有知識產權
但JCP卻作為一個團體不斷發展壯大
直接推動Java技術變化的當事者為
年前形成的基於團體的標准制訂流程
JCP
但真正將討論與技術納入JCP的卻是包括Java技術批評者在內的眾多Java開發者團體
他們也是早期開展Java技術變革的先行者
由此誕生的下一代技術將會在
~
年後逐漸波及主流企業用戶
Java技術的
變革推動者
為開發者團體
不受制於特定企業
通過眾多需要Java的開發者的建議
Java技術正在不斷發展進步
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19354.html