Java毫無疑問是最受歡迎的編程語言之一。然而,即使是最忠實的用戶,也對等待新版本的更新厭煩了,畢竟Java 9一拖再拖。
近期,Oracle建議將Java SE的發布時間提高至每半年一次,Oracle的Java平臺組首席架構師Mark Reinhold提出,Java SE平臺和JDK將從歷史功能驅動的發行版模式轉變為嚴格的基于時間的模式,每六個月增加一個新功能,每季度更新一次,每三年發布一次長期支持。
回想起來,兩年的發布節奏太慢了,我們必須以更快的速度發布功能,但我們仍然以高水平的質量提供每個版本,保護Java的兼容性,可靠性和周到的演變以及長期價值。
之后的Java發布計劃
這些每半年發布一次的特色版本將包含任何類型的功能,不僅包括新的和改進的API,還包括語言和JVM功能。新功能只有在幾乎完成時才會合并,所以目前正在開發的版本始終是功能齊全的,這一決定將于2018年3月起生效,之后每年3月和9月都將發布一次更新。
更新版本將嚴格限制新功能中的安全問題,回歸和錯誤修復。每個功能版本將在下一個功能發布之前收到更新。從2018年9月開始,每三年的功能發布將是長期支持版本。根據供應商,更新將至少提供三年,甚至可能更長。
新模式與舊模式有什么區別?根據Mark Reinhold的說法,區別在于“提供創新的機會將會更多。六個月更新一次的功能版本將比過去多年更新一次的功能版本小,因此更容易采用。六個月的功能版本也將減少向舊版本壓縮新功能的壓力,因為下一個功能版本將不會超過六個月。
他補充說,功能版本的版本字符串將是YEAR.MONTH的形式。比如,2018年3月份的發行版為18.3,9月份的長期支持版本將為18.9。如果這一建議被采納,將會對OpenJDK社區的貢獻者帶來重大改變。依賴Java的開發人員、用戶和企業將受到巨大影響,但此提案旨在幫助Java在未來幾年保持競爭力。
JAXenter:由于OpenJDK二進制文件成為開發人員訪問Java SE平臺最新創新的主要渠道,Oracle JDK將繼續為Oracle商業和支持客戶提供長期支持(LTS)。你是如何得出這個結論的?
Donald Smith:加快Java SE的發布節奏,可以更快地引入新語言、庫和VM更改,而不會中斷那些希望采取保守更新方式的企業。我們提出的建議是平衡并且使用許多開源平臺項目很受歡迎的“LTS”模式。
JAXenter:為什么現在比以往更新更快變得很重要?功能版本如何工作,如何確保質量不會下降?
Donald Smith:應用程序開發市場已經轉移。規范是為平臺提供基于時間的發布模型。作為一個生態系統,我們需要將這些半年期發行的意義簡單地轉換為“特征發布”,而不是“主要”發布。
JAXenter:有些人抱怨Java 9由于Jigsaw項目而被推遲。這個提案是否與延遲發布有關? Oracle在Java 8之后的三年半時間內間接承認他們“發錯了”嗎?
Donald Smith:自從1.4以來,Java“主要”版本的發展已經過去了三年多,所以Java SE 9并不是異常的。應用程序開發市場在過去幾年已經轉移,使開發人員更容易構建,測試和部署應用程序。持續集成和持續部署工具可以更輕松地將新功能引入生產。Jigsaw將有助于這種集成化。