模塊化的粉絲們會(huì)很高興的聽(tīng)到這一消息,Jigsaw項(xiàng)目已經(jīng)重新提上日程,至少也是部分回到了正軌。
今年7月的早些時(shí)候,甲骨文首席Java架構(gòu)師Mark Reinhold在他的一篇題為“《Jigsaw項(xiàng)目:第二階段》”的博文中告訴我們,在“過(guò)去的幾年里”,jigsaw項(xiàng)目“處于一個(gè)探索階段,在這個(gè)階段中,我們?cè)O(shè)計(jì)并建立了一種特別的方式來(lái)處理需求的草案集?!?/P>
回溯到2011年6月,最初曾打算將Jigsaw包含在Java 7的發(fā)布中,該宏偉計(jì)劃由兩個(gè)主要的部分組成。第一部分是一個(gè)幾乎可以與OSGi競(jìng)爭(zhēng)的模塊化框架。第二部分是將Java平臺(tái)本身真正地拆分成多個(gè)可挑選組合的模塊。
但是最終該項(xiàng)目卻公布了將會(huì)推遲到Java 8。然而這個(gè)計(jì)劃卻再次擱淺,Reinhold在他的博文“Jigsaw項(xiàng)目:沒(méi)搭上這趟火車”中請(qǐng)求JSR 337 (Java 8)專家組再次將Jigsaw項(xiàng)目的發(fā)布延期至Java 9。根據(jù)甲骨文宣布的兩年Java周期和Reinhold的博文“安全的火車”來(lái)看,該版本目前已計(jì)劃在2016年早期發(fā)布。在那不久后,Jigsaw項(xiàng)目的延期請(qǐng)求便得到了批準(zhǔn)。
通過(guò)查看Reinhold的計(jì)劃,可以看到Jigsaw項(xiàng)目原有的范圍在經(jīng)歷了多次“減數(shù)分裂”后成為了四個(gè)JEP(Java改進(jìn)建議):
提出一個(gè)具體的JDK模塊化結(jié)構(gòu);
根據(jù)以上結(jié)構(gòu)重新組織JDK源代碼(不包括二進(jìn)制文件);
第三個(gè)建議是將二進(jìn)制映像文件進(jìn)行模塊化;
第四個(gè)JEP是將為Java自身引入模塊化系統(tǒng),這將與模塊化系統(tǒng)JSR保持一致。
你可以通過(guò)Jigsaw項(xiàng)目的“目標(biāo)和需求”文檔來(lái)了解更多該項(xiàng)目的最新動(dòng)向。也可以加入jigsaw-dev郵件列表來(lái)參與該項(xiàng)目的持續(xù)討論。
Java 9早期版本的二進(jìn)制文件已經(jīng)可以在java.net上進(jìn)行下載。Java 9 JSR目前尚未提交,這使得一些開(kāi)發(fā)者很想知道下一班火車會(huì)不會(huì)又跳過(guò)這一站。
更多信息請(qǐng)查看IT技術(shù)專欄