Java 11已經發布
Java 11終於推出了,它是Oracle在推行LTS(長期支援,Long-Term Support)後首個按計劃推出的版本。雖然Oracle出於縮小舊版本模型和新方法間差距的考慮,也將早期的Java 8納入到LTS釋出中。
與今年早期的報導相比,新版本的特性列表發生了巨大的變化。Java 11中的新特性主要包括:
- 基於巢狀的訪問控制(即“Nestmates”):重新審視了內部類的實現方式,編譯器無需插入橋接(Bridge)方法。
- 動態類檔案常量(即“Condy”):降低了代價,無需新建物化的類檔案常量。Condy將提高效能,並提供新的平臺方法。
- ZGC(實驗性):ZGC是一種全新的垃圾回收器(GC),設計在最高付出15%效能犧牲代價的情況下,實現低於10毫秒的暫停時間(即便對於大型堆)。
- 黑匣子(Flight Recorder):一種低代價的資料採集框架,用於為Java應用和HotSpot JVM提供查錯。黑匣子在前期版本中是一個商業特性,在新版本中開源提供。
- 新的標準HTTP軟體庫:新模組java.net.http實現了API孵化的標準化,支援基於流的HTTP/1.1和HTTP/2。
- TLS 1.3:實現了最近標準化的新版本傳輸層安全協議(TLS,Transport Layer Security)。
- Lambda引數的本地變數語法:更新了Labmda語法,支援使用Java 10引入的var型別推理。
為精簡Java核心產品,新版本還清理了一些舊特性:
- Java EE和CORBA模組:如果應用需要EE和CORBA模組,那麼應用需明確指明對這些模組的依賴。
- Web Start:完全清除,不提供替代特性。
- Applets:在大多數情況下嚴重推薦不使用,最終將被清理。
- JavaFX:FX軟體庫已經遷移到OpenJFX專案,並從核心中移除。
(譯註: 自JavaFX於2012年開源併為OpenJDK專案下的OpenJFX子專案之後,它就已不再是Java SE的組成部分。這意味著OpenJFX的API將不再遵循JSR。由Oracle建立並分支的OpenJDK二進位制版本Oracle JDK 11已正式宣稱移除了JavaFX,但JavaFX依然是OpenJDK專案的組成部分。自2012年以後,如果OpenJDK開發人員想要構建或執行JavaFX應用,那麼必須要額外下載OpenJFX,因為OpenJDK中並未包括OpenJFX。)
需特別指出的是,EE模組中包括對JAXB和SOAP的支援,這兩個元件在很多企業中依然廣為使用。對於已升級到新版本的開發團隊,應該做一些仔細的檢查,已確認是否需要針對這些改進修改構建指令碼。
Oracle Java平臺組軟體開發副總Georges Saab對Java的新LTS模型做出如下評價:
LTS版本釋出模型支援我們的客戶按自己的節奏在受良好支援的Java SE LTS釋出版本間的遷移,同時也支援Java開發人員生態系統更快地接觸到最新改進。
今年早期提供的一個幻燈片中,給出了一些新特性的例子。在InfoQ對ByteBuddy創始人Rafael Winterhalter的採訪中,談及了包括Condy和Nestmates在內的一些類檔案新格式上的改進。
Oracle將在官方網站下載頻道和其它軟體提供商處提供Java 11的下載。但目前為止,官網下載頻道尚未更新。
相關文章
- 盼望已久的Java 9 已經發布Java
- jQuery Mobile 1.4.0已經發布jQuery
- ccproject 6.47版已經發布Project
- Ubuntu Tweak 0.7.0 已經發布Ubuntu
- PostgreSQL的9.4已經發布(譯)SQL
- Eclipse已經發布3.1 為ProducrEclipse
- 最新的goldengate monitor 12.1.3已經發布Go
- Autodesk 360 Viewer 已經發布到Autodesk 360平臺View
- PHP 7 已經發布,你會選擇PHP 7嗎?PHP
- Java 11已經不再完全免費,不要陷入Oracle的Java 11陷阱JavaOracle
- LightningChart .NET v.10.2.1已經發布了!GC
- Python 3.7 測試預覽版已經發布,新增新特性Python
- 開工大吉:Oracle 18c已經發布及新特性介紹Oracle
- SQL Server 2012 RTM已經發布(以及補丁下載地址)!SQLServer
- ORACLE 11G R2 for linux 版本已經發布OracleLinux
- 最新資訊: 蘋果 macOS Big Sur 開發者預覽版 Beta 4 已經發布蘋果Mac
- [譯] Rust 2018 已經發布……但它到底是什麼呢?Rust
- 版號大限將至!有遊戲已經發布公告,將在31日下架遊戲
- 1.8正式版已經發布,希望GoCN下載裡面能同步上Go
- 在PC平臺,這款已經發布兩年的老遊戲正在煥發第二春遊戲
- 高階自動化釣魚框架PhishLulz已經發布,是災難還是救星?框架
- Java 9 的新特性發布Java
- Java是不是已經飽和了?Java
- oracle 11.2.0.3 for aix 平臺已經推出OracleAI
- 已經解決java.lang.OutOfMemoryErrorJavaError
- Oracle Enterprise Metadata Management (簡稱OEMM,Oracle後設資料管理)12.1.3.0.1已經發布Oracle
- Java最新發布版本有哪些變化?Java
- 驀然回首,Java 已經 24 歲了!Java
- 攜程Java三面面經,已OC!!Java
- 驀然回首:Java已經過時了嗎?Java
- 實現Hyper-V 虛擬機器遠端控制檯連線?Remote Desktop Connection Manager 2.7已經發布薦虛擬機REM
- java lombok包在maven已經配置,但是註解沒用JavaLombokMaven
- oracle 11.2.0.2 patch for linux 和solaris 平臺已經 釋出OracleLinux
- 控制已經發料工單刪除元件(轉)元件
- Java 11 已釋出,String 還能這樣玩!Java
- 經緯恆潤汽車軟體持續整合平臺全新發布
- 中國發布5G研發測試結果關鍵技術已通過驗證
- 蹭著 Java 熱點出生的 JavaScript 已經 22 歲了!JavaScript