java開發:Java 9孵化器模塊將如何改變Java的未來

編程語言 Java 風投 琥珀 我愛資源庫 我愛資源庫 2017-08-29

java開發:Java 9孵化器模塊將如何改變Java的未來


孵化器的模塊是什麼,他們如何工作,我們為什麼要在意嗎? 瞭解更多項目拼圖將改變我們使用Java方法。

TL;博士:新JDK增強提議(又名 中11 )介紹操場孵化器模塊目標實驗功能在下一個版本中被採納和標準化或Java,或悄悄地從JDK中刪除。 第一個特性引入作為這個項目的一部分是Javaa€™s HTTP / 2端。

許多問題立即湧上心頭。 簡單的,實際的物流,會有一個以上的每個模塊的功能,等等。 和更復雜的,就像這是什麼意思的依賴,這將導致Java平臺的碎片?

模塊化Java的影響

引入模塊化Java是灌輸€™年代討論至少從2008年開始,當Mark Reinhold提出模塊化Java平臺的Java 7的可能性。 九年後,我們€™再保險期待Java模塊是一個變革即將到來的Java 9版本的一部分。

項目發佈的拼圖,Javaa€™模塊項目,不僅會有一個不錯的選擇在類路徑或JAR地獄但新特性的建議已經浮出水面,取決於模塊系統的機制。 孵化器模塊的一個例子是一個增強的建議,充分利用模塊化系統為了引入新的Java功能(或者,許多新的Java功能取決於你如何看待它)。

孵化器模塊是什麼?

聽到孵化器模塊,可能那些浮現在你腦海的第一件事 項目在2017年初引入Java語言作為生產性的孵化器中局部變量類型推斷和增強枚舉。 孵化器的api模塊相似但不同的發展階段。 而琥珀是一個項目,讓OpenJDK社區優先選擇成熟的建議,孵化器模塊旨在使增強輸入的建議更廣泛的受眾作為新JDK發佈項目的一部分。 孵化特性是那些尚未標準化,可能受益於進一步體驗為了證實或證偽。

孵化器模塊將未完成的api的開發人員的變化和調整。 最終,一個新的中精心設計,以反映這些變化或否則完全從平臺中刪除。 雖然每個孵化模塊將對應於一個孵化功能,如果創建一個新的中,提升API可以集成到現有的標準模塊而不是另一個個性化的。

這些孵化模塊的生命週期將嚴格限制在一個單一的發佈週期。 例如,孵化與Java 9 9月份發佈的api必須標準化,最終在Java 10中,或者從JDK中刪除。

目標和動力

孵化器的基本目標模塊,所述中11,是使OpenJDK社區分發不是final api與JDK發佈項目。 正如克里斯赫加蒂Oraclea€™年代團隊成員負責創建孵化器模塊,寫道,一個€œ許多Java SE平臺或支持,JDK-specific api將受益於花一段時間在JDK發佈項目之前在JCP規範或被視為stable.a€

好處將相似,但更有效,比收穫從早期訪問(EA)版本的Java平臺的最新版本。 中所提出的具體的獲得能力功能接收來自更廣泛的受眾的反饋比OpenJDK社區。

HTTP / 2使上市孵化模塊

超過15年,HTTP / 1.1是執政的網絡和Javaa€™年代HttpURLConnection API提供了良好的支持。 標準化的HTTP / 2的時候的一個更新遺留HttpURLConnection API。

雖然最初定於完整的集成在Java 9日 HTTP / 2客戶端API 將作為第一個孵化器模塊在Java 9。 HTTP / 2的三個主要影響客戶端被實現為一個孵化器模塊:

1。 它不會€™t被包括在SE平臺

2。 這將是在jdk。 孵化器名稱空間而不是java.net

3所示。 它不會€™t解決默認情況下在運行時(這是適用於所有孵化器模塊)

API的一些引人注目的目標包括兼容性與HTTP / 2(顯然),友善對lambda表達式和其他新的語言特性,並支持基礎和共同的身份驗證方法。 隨著十幾個其他目標中列出的建議,標準化在Java SE平臺10將通過額外的接觸更廣泛的經驗作為一個孵化API。

除了HTTP / 2客戶端API,jlink( 中282 )預計也將被重構為孵化器模塊在未來。 留意更深入地瞭解HTTP / 2客戶在未來幾個月,和訂閱以下時得到通知ita€™年代生活!

java開發:Java 9孵化器模塊將如何改變Java的未來

分裂和依賴問題

孵化器言論之際,模塊將導致碎片問題,Brian Goetz反駁了聲稱的擔憂。一個€œ碎片isna€™t真的一個問題從孵化器模塊,就其本質而言,self-fragmenting開始。 一€雖然有意義,開發人員會擔心使用api,可以改變或徹底消失沒有注意到,那些小姐€™t想把包定義為一個潛在的暴力特徵簡單索性€™t使用它們。 這類似於大多數開發人員的傾向等一般可用性(GA)發佈的一個新的Java版本而不是早期開始使用訪問(EA)釋放。

依賴問題是另一個大問題在考慮孵化api的使用。 具體國家的提議,€œ永遠不需要保留在一個孵化特性的JDK版本項目,也在每一個版本的二進制文件來自下游釋放驗收€ 模塊化的應用程序將被允許指定直接和傳遞孵化器模塊的依賴關係,但使用這些api可能需要重構的重大改變是在孵化。 這僅僅是一個風險,開發人員需要從一開始就承認。

與任何其他功能的建議,€™介紹給Java平臺,社區有複雜的感情。 雖然有些興奮地期待著能夠得到早期獲得新功能,其他擔心的影響,這種能力會有:

最終的想法

很快,孵化器模塊將帶來新的Java功能比以往早面世。 儘管可以理解的擔心使用api的缺點,改變或移除,試驗新功能的能力,提供可操作的反饋是Java幾乎肯定是有益的。 Java是飽受不斷抱怨這個或那個功能如何更好,現在,Java用戶將有機會給這個輸入之前公佈的特性是Java SE平臺。

無論如何,要長話短說,使用孵化器模塊如果你€™再保險早期訪問感興趣的新特性和共享反饋什麼可行,什麼doesna€™t。 只是知道,至少,百度€™不得不改變你的導入語句完成和標準化的API時,將需要更多的調整,如果API完全是徹底改變或刪除。

java開發:Java 9孵化器模塊將如何改變Java的未來


相關推薦

推薦中...