6月5日外電頭條:探秘Java 7模塊化 類路徑永遠消失
原創【51CTO.com快譯】14年前,Sun Microsystems創立了Java語言和它的應用平臺,如今隨著Java SE Development Kit 7(JDK 7)的升級,Java將向著更加模塊化的方向前進。
JDK 7將使開發者能夠提早得到原計劃在Java Standard Edition 7中提供的功能。51CTO.com在之前的外電頭條中曾報道過Java 7將向細顆粒并行化發展;在舊金山舉行的本屆JavaOne大會的發布會上,Sun官員談到了即將到來的Java發布計劃,模塊化是JDK 7改進計劃中的一個重要部分。(51CTO.com編者注:JavaOne是Sun組織召開的每年一次的Java開發技術大會,本屆JavaOne 2009是Sun被Oracle收購后最后一次組織JavaOne,詳細請參考6月2日的外電:JavaOne 2009,Sun最后的挽歌? ,更多關于JavaOne 2009的消息請參考51CTO.com的獨家報道:JavaOne 2009技術前瞻以及JavaOne 2009 第一天和第二天的熱點技術關注。)
“我們正在定義Java平臺的模塊形式和實現工作,我們正努力使Java虛擬機演變成為一個支持各種高級語言的真正的多語言統一運行時平臺。總之,我們的目的是使開發者變得效率更高,”Java SE和OpenJDK的首席工程師Mark Reinhold說。
走向模塊化的道路是為了解決Java變得越來越大的問題,Reinhold說。Sun正在著手處理模塊化的實現,通過Jigsaw項目和Java規范請求294(Java Specification Request 294)。據Reinhold的描述,Jigsaw通過采用低層次的模塊系統來讓開發者使用自己的代碼。
在模塊化格式中,模塊可以被添加到基礎平臺比如聲音模塊或者用作Swing開發。此外,模塊將減少開發者對類路徑使用的需要,Reinhold說。類路徑是Java運行時環境用來搜索類和其他資源文件的路徑。
“類路徑永遠不會出現了。”Reinhold說。(英文原文:Class path is dead)
“如果我們有了一個模塊化的平臺,那么,我們幾乎可以立即解決下載大小和文件系統footprint這些問題”,因為所有需要下載的只是應用的實際需要,Reinhold表示。而且在安裝時可以做到優化。
Java的模塊化有可能會走向一個單一的Java實現,Sun應用平臺首席技術官Robert Brewin說。目前,Java提供企業版、標準版和面向設備的微型版等各種版本。
“模塊化給我們帶來了一些特殊的感覺,也許我們已經走到了這一點,從這里我們可以開始思考如何最終把Java合并成一個,”也就是提供一個統一的Java版本,Brewin說。
通過模塊化可以讓最小型的設備在運行時減少Java碎片,比如讓ME系統內置的藍牙模塊在SE系統上運行。但Brewin在發言后繼續表示,目前Sun還沒有想要整合為一個Java這樣的計劃。設備碎片一直是ME系統的一個問題,供應商需要自己提供實現辦法。
模塊化是解決復雜性問題很重要的工具。把應用分成不同的部分(模塊、庫、包、子項目和組件),再分別進行計算,是行之有效的方式。也是目前Java突破當前發展瓶頸的科學探索。但Java模塊化在真正的應用中還有些需要注意的問題,比如依賴性、路徑、依賴沖突等。更多關于Java模塊化的技術應用請參考51CTO.com之前的報道:走進Java 7模塊系統。
Reinhold在發言中說,為了提高Java虛擬機的能力以處理除Java之外的其他主要語言,Sun正在大力開發Da Vinci Machine項目。在提高開發者生產力方面,JDK主要是通過Coin項目,對Java語言作出微小調整,使編程更加容易。但這種改變并不會太大,51CTO之前曾進行過Java 7新特性的展望,事實上,語言層的改變很少;在今年1月更新的Java 7路線圖中也沒有包含社區中議論紛紛的閉包特性。Reinhold說。其中一項變化是“diamond operator(菱形運算符)”的使用,將用于向編譯器發送指令重復完成任務。
另外值得注意的是JDK 7修改了語言規范方式,增加了標注的使用。“這是為了給靜態檢查工具更好的提供信息,”Reinhold說。
JDK 7中的有些功能已經可以使用了,Reinhold說。JDK 7的Milestone 3已經在上個月發布,功能完整的Milestone 6計劃在10月份發布。JDK 7的候選版(也可能就是最終版)預計在2010年2月發布。
在Java企業版方面,Sun的Java企業平臺集團高級工程師Roberto Chinnici說,Sun正在完成的還包括Java Enterprise Edition 6的改進工作。Java EE 6將擁有歸檔和修剪功能,以適合用戶的需要。
RESTful網絡服務功能也將進入Java EE 6,Java EE 6的最終版計劃將在9月份發布。
Sun在大會上還宣布了Kenai項目的連續整合的功能,進行版本控制和源代碼管理。連續整合功能基于java.net的Hudson項目。
【更多關于Java 7的動態】
【關于JavaOne 2009】
【51CTO.com譯稿,非經授權請勿轉載。合作站點轉載請注明原文譯者和出處為51CTO.com,且不得修改原文內容。】
原文:Java to get more modular with JDK 7 upgrade 作者:Paul Krill