fireboy

          Happy Home

          常用鏈接

          統(tǒng)計

          JAVA

          最新評論

          Java正處于轉(zhuǎn)變期

          Java正處于轉(zhuǎn)變期 17:30:46 下午

          回顧Java技術(shù)的發(fā)展歷程,人們一定會感慨:2004年到2005年發(fā)生的變化如此之大,可以說“現(xiàn)在”正是Java技術(shù)的轉(zhuǎn)換期。 Java技術(shù)由編程語言(Java語言)、運行環(huán)境(JVM:Java虛擬機)、框架(Java API群)組成,目前在每一個層面上都發(fā)生著巨大的變化。

          (1)編程語言的變化

          Java語言標(biāo)準(zhǔn)出現(xiàn)明顯變化。在2004年9月發(fā)布的正式版本J2SE5.0(J2SE:Java2 Platform, Standard Edition,Java技術(shù)的核心運行環(huán)境)中,對Java語言標(biāo)準(zhǔn)中的Generics與元數(shù)據(jù)進行了大幅擴展。出現(xiàn)了被認(rèn)為是“自Java問世以來的最大一次語言標(biāo)準(zhǔn)變化”(美國Sun Microsystems)。這次語言標(biāo)準(zhǔn)的變化給許多Java API帶來了影響。許多企業(yè)API的新版本都引入了基于元數(shù)據(jù)的注解(程序中記錄的附加信息),以較短的編碼記述更多的信息。

          (2)Java運行環(huán)境的變化

          在J2SE5.0中,大幅度強化了JVM的管理功能與實用性,換句話說就是具備了Java執(zhí)行OS(操作系統(tǒng))的特征。例如,原來在J2EE (Java2 Platform, Enterprise Edition,構(gòu)筑企業(yè)系統(tǒng)的Java技術(shù))領(lǐng)域,標(biāo)準(zhǔn)配備有作為管理功能的應(yīng)用軟件管理框架JMX。不僅如此,還配備有JVM自身監(jiān)控功能((JSR 174: Monitoring and Management Specification for the Java Virtual Machine)。在標(biāo)準(zhǔn)功能架構(gòu)中可以實時監(jiān)視JVM運行時的狀態(tài),也就是內(nèi)存使用量、線程狀態(tài)等。

          J2SE5.0中新追加的功能中包括并行處理實用程序(JSR 166),其基礎(chǔ)是紐約州立大學(xué)Doug Lea提供的程序庫。也就是說,標(biāo)準(zhǔn)規(guī)格中采用了來自民間的程序庫。

          (3)框架的變化

          服務(wù)器端的Java框架也發(fā)生了巨大變化。企業(yè)級Java技術(shù)--J2EE的“使用方法”說明文件“J2EE Blueprint”中,提出了將應(yīng)用軟件分為Web層、EJB層(Enterprise JavaBeans,將包括事務(wù)處理在內(nèi)的業(yè)務(wù)進程模塊化的框架)來構(gòu)筑的思路。這兩種層次都迎來了架構(gòu)更替時期。Web層的新框架為JSF (JavaServer Faces,將模塊組合起來構(gòu)筑Web應(yīng)用程序的框架),EJB層為標(biāo)準(zhǔn)方案中剛剛公布的下一代EJB規(guī)格“EJB3.0”。

          值得注意的是,促成框架發(fā)生變化的正是來自民間的源碼開放軟件。

          對JSF產(chǎn)生影響的是作為源碼開放的Web層框架得到普及的Apache Struts。JSF是對Struts的思路進行改進的產(chǎn)物,JSF的Spec Lead(規(guī)格制定領(lǐng)袖)之一Craig R. McClanahan就是Struts的作者。

          對EJB3.0造成影響的也是民間源碼開放軟件。EJB3.0引入了DI(Dependency Injection,依賴注入)容器類(Container)與POJO(Plain Old Java Object)持久類這些新功能,大大減輕了編程的復(fù)雜性。這些概念因PicoContainer、Spring等源碼開放軟件的導(dǎo)入而引人注目。

          其背景在于用戶對“目前的EJB過于復(fù)雜”的批評。原本由EJB反對派提出的設(shè)計思想與源碼開放軟件,卻變成了EJB3.0的中心概念,顯出了巨大的影響力。

          (4)腳本語言

          在Java技術(shù)標(biāo)準(zhǔn)中新增加了編程語言Groovy(JSR 241)。這是一種可與Java語言無縫連接的腳本語言,有望以極短的程序完成相關(guān)處理。“在Java技術(shù)中添加Java以外的語言”,這聽起來也許有些別扭,其實以前就有這樣的呼聲,希望將可以充分利用Java技術(shù)資源的腳本作為語言使用。Groovy本來是源碼開放軟件,最終得到認(rèn)可,被采納為標(biāo)準(zhǔn)規(guī)格。

          由上述可以看出,Java技術(shù)的構(gòu)成要素正在發(fā)生巨大變化。就在不久以前,一提起服務(wù)器Java,“Servlet、JSP、EJB是重要的 API”這樣的說明還占主流,但現(xiàn)在基于JSF和EJB3.0的應(yīng)用程序已經(jīng)變成了“面目全非”的程序。而在運行短程序或測試時,甚至還出現(xiàn)了不僅是 Java語言,連腳本語言都開始調(diào)用Java框架的情況。


          這些變化從大的方面來看的話,可以說是進一步發(fā)揮了Java面向?qū)ο蟮膬?yōu)勢。當(dāng)然,也包括提高開發(fā)效率、提高運行穩(wěn)定性、簡化運行管理等業(yè)務(wù)上的優(yōu)勢。

          開發(fā)者團體是真正的“變革推動者”

          那么,這些變化的原動力來自哪里呢?為什么說“目前”正面臨著“又一次變革”呢?理由如下:

          在Java技術(shù)的發(fā)展過程中,1999年到2000年是一個大的轉(zhuǎn)折點。J2EE概念于1999年出現(xiàn)。J2EE也在隨后2~3年內(nèi)得到普及,但這一技術(shù)體系早在5年前就已經(jīng)確立。在我們眼前,新一代Java技術(shù)的輪廓正逐漸顯現(xiàn)出來。

          JCP(Java Community Process)2.0于2000年問世。以會員制的組織形式推進Java技術(shù)的規(guī)格制訂、總體發(fā)展方向則以委員會的方式?jīng)Q定。從而形成了不依賴特定企業(yè)的規(guī)格制訂流程。這一組織形式歷經(jīng)近5年的時間,逐漸發(fā)展成“變革的推動者”。

          J2EE此前一直飽受批評,認(rèn)為“Web層與EJB層的差距太大”、“EJB過于復(fù)雜”,但這也是因為這是一項實際使用的技術(shù)。JCP同樣也遇到很多批評,稱其“沒有完全公開”、“制定的技術(shù)標(biāo)準(zhǔn)卻不可思議地讓Sun擁有知識產(chǎn)權(quán)”,但JCP卻作為一個團體不斷發(fā)展壯大。

          直接推動Java技術(shù)變化的當(dāng)事者為5年前形成的基于團體的標(biāo)準(zhǔn)制訂流程--JCP,但真正將討論與技術(shù)納入JCP的卻是包括Java技術(shù)批評者在內(nèi)的眾多Java開發(fā)者團體。他們也是早期開展Java技術(shù)變革的先行者。由此誕生的下一代技術(shù)將會在2~3年后逐漸波及主流企業(yè)用戶。

          posted on 2005-10-09 17:31 fireboy 閱讀(80) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 中山市| 呼和浩特市| 邢台县| 文安县| 五华县| 洪泽县| 淄博市| 老河口市| 邮箱| 龙岩市| 汤阴县| 新昌县| 仙居县| 吴桥县| 图片| 平山县| 嘉义市| 海淀区| 贞丰县| 武夷山市| 灌云县| 梁河县| 铜梁县| 靖安县| 化隆| 江西省| 普宁市| 黔南| 大渡口区| 兰坪| 改则县| 且末县| 徐州市| 泸溪县| 同仁县| 水城县| 龙里县| 旺苍县| 德阳市| 民县| 余姚市|