Java技術的新方向
發(fā)表時間:2024-05-23 來源:明輝站整理相關軟件相關文章人氣:
[摘要]Java技術自問世時光已經(jīng)過去了9個年頭。作為一名一直關注其成長的記者,曾經(jīng)一段時間有過這樣的想法:“Java技術已經(jīng)成熟,是不是發(fā)展速度該放慢一些了呢”。然而,這種想法錯了。近來Java技術的進化相當顯著。Java技術正在迎來“又一次革命”的風暴。這就是本文的結論。 “又一次”指的是什么...
Java技術自問世時光已經(jīng)過去了9個年頭。作為一名一直關注其成長的記者,曾經(jīng)一段時間有過這樣的想法:“Java技術已經(jīng)成熟,是不是發(fā)展速度該放慢一些了呢”。然而,這種想法錯了。近來Java技術的進化相當顯著。Java技術正在迎來“又一次革命”的風暴。這就是本文的結論。
“又一次”指的是什么?“革命”指的又是什么?光看結論的話肯定是一頭霧水。其實,筆者要講的并不是變化這樣一個事實,而是“促進變化的原動力”。是什么讓Java技術發(fā)生變化?讓我們從這一角度出發(fā),先看一下Java的變化歷程。
Java正處于轉(zhuǎn)變期
回顧Java技術的發(fā)展歷程,人們一定會感慨:2004年到2005年發(fā)生的變化如此之大,可以說“現(xiàn)在”正是Java技術的轉(zhuǎn)換期。 Java技術由編程語言(Java語言)、運行環(huán)境(JVM:Java虛擬機)、框架(Java API群)組成,目前在每一個層面上都發(fā)生著巨大的變化。
(1)編程語言的變化
Java語言標準出現(xiàn)明顯變化。在2004年9月發(fā)布的正式版本J2SE5.0(J2SE:Java2 Platform, Standard Edition,Java技術的核心運行環(huán)境)中,對Java語言標準中的Generics與元數(shù)據(jù)進行了大幅擴展。出現(xiàn)了被認為是“自Java問世以來的最大一次語言標準變化”(美國Sun Microsystems)。這次語言標準的變化給許多Java API帶來了影響。許多企業(yè)API的新版本都引入了基于元數(shù)據(jù)的注解(程序中記錄的附加信息),以較短的編碼記述更多的信息。
(2)Java運行環(huán)境的變化
在J2SE5.0中,大幅度強化了JVM的管理功能與實用性,換句話說就是具備了Java執(zhí)行OS(操作系統(tǒng))的特征。例如,原來在J2EE (Java2 Platform, Enterprise Edition,構筑企業(yè)系統(tǒng)的Java技術)領域,標準配備有作為管理功能的應用軟件管理框架JMX。不僅如此,還配備有JVM自身監(jiān)控功能((JSR 174: Monitoring and Management Specification for the Java Virtual Machine)。在標準功能架構中可以實時監(jiān)視JVM運行時的狀態(tài),也就是內(nèi)存使用量、線程狀態(tài)等。
J2SE5.0中新追加的功能中包括并行處理實用程序(JSR 166),其基礎是紐約州立大學Doug Lea提供的程序庫。也就是說,標準規(guī)格中采用了來自民間的程序庫。
(3)框架的變化
服務器端的Java框架也發(fā)生了巨大變化。企業(yè)級Java技術--J2EE的“使用方法”說明文件“J2EE Blueprint”中,提出了將應用軟件分為Web層、EJB層(Enterprise JavaBeans,將包括事務處理在內(nèi)的業(yè)務進程模塊化的框架)來構筑的思路。這兩種層次都迎來了架構更替時期。Web層的新框架為JSF (JavaServer Faces,將模塊組合起來構筑Web應用程序的框架),EJB層為標準方案中剛剛公布的下一代EJB規(guī)格“EJB3.0”。
值得注意的是,促成框架發(fā)生變化的正是來自民間的源碼開放軟件。
對JSF產(chǎn)生影響的是作為源碼開放的Web層框架得到普及的Apache Struts。JSF是對Struts的思路進行改進的產(chǎn)物,JSF的Spec Lead(規(guī)格制定領袖)之一Craig R. McClanahan就是Struts的作者。
對EJB3.0造成影響的也是民間源碼開放軟件。EJB3.0引入了DI(Dependency Injection,依賴注入)容器類(Container)與POJO(Plain Old Java Object)持久類這些新功能,大大減輕了編程的復雜性。這些概念因PicoContainer、Spring等源碼開放軟件的導入而引人注目。
其背景在于用戶對“目前的EJB過于復雜”的批評。原本由EJB反對派提出的設計思想與源碼開放軟件,卻變成了EJB3.0的中心概念,顯出了巨大的影響力。
。4)腳本語言
在Java技術標準中新增加了編程語言Groovy(JSR 241)。這是一種可與Java語言無縫連接的腳本語言,有望以極短的程序完成相關處理!霸贘ava技術中添加Java以外的語言”,這聽起來也許有些別扭,其實以前就有這樣的呼聲,希望將可以充分利用Java技術資源的腳本作為語言使用。Groovy本來是源碼開放軟件,最終得到認可,被采納為標準規(guī)格。
由上述可以看出,Java技術的構成要素正在發(fā)生巨大變化。就在不久以前,一提起服務器Java,“Servlet、JSP、EJB是重要的 API”這樣的說明還占主流,但現(xiàn)在基于JSF和EJB3.0的應用程序已經(jīng)變成了“面目全非”的程序。而在運行短程序或測試時,甚至還出現(xiàn)了不僅是 Java語言,連腳本語言都開始調(diào)用Java框架的情況。