Java語言標(biāo)準(zhǔn)出現(xiàn)明顯變化。在2004年9月發(fā)布的正式版本J2SE5.0(J2SE:Java2 Standard, Standard Edition,Java技術(shù)的核心運(yùn)行環(huán)境)中,對Java語言標(biāo)準(zhǔn)中的Generics與元數(shù)據(jù)進(jìn)行了大幅擴(kuò)展。出現(xiàn)了被認(rèn)為是“自Java問世以來的最大一次語言標(biāo)準(zhǔn)變化”(美國Sun Microsystems)。這次語言標(biāo)準(zhǔn)的變化給許多Java API帶來了影響。許多企業(yè)API的新版本都引入了基于元數(shù)據(jù)的注解(程序中記錄的附加信息),以較短的編碼記述更多的信息。
(2)Java運(yùn)行環(huán)境的變化
在J2SE5.0中,大幅度強(qiáng)化了JVM的管理功能與實(shí)用性,換句話說就是具備了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)中可以實(shí)時監(jiān)視JVM運(yùn)行時的狀態(tài),也就是內(nèi)存使用量、線程狀態(tài)等。
對JSF產(chǎn)生影響的是作為源碼開放的Web層框架得到普及的Apache Struts。JSF是對Struts的思路進(jìn)行改進(jìn)的產(chǎn)物,JSF的Spec Lead(規(guī)格制定領(lǐng)袖)之一Craig R. McClanahan就是Struts的作者。
對EJB3.0造成影響的也是民間源碼開放軟件。EJB3.0引入了DI(Dependency Injection,依賴注入)容器類(Container)與POJO(Plain Old Jav
a Object)持久類這些新功能,大大減輕了編程的復(fù)雜性。這些概念因PicoContainer、Spring等源碼開放軟件的導(dǎo)入而引人注目。
JCP(Java Community Process)2.0于2000年問世。以會員制的組織形式推進(jìn)Java技術(shù)的規(guī)格制訂、總體發(fā)展方向則以委員會的方式?jīng)Q定。從而形成了不依賴特定企業(yè)的規(guī)格制訂流程。這一組織形式歷經(jīng)近5年的時間,逐漸發(fā)展成“變革的推動者”。