Java 10更新彙總,新的編譯器通吃主流程式語言

deeply發表於2021-09-09

早些時候Oracle釋出了Java 10,這是Oracle更改釋出策略之後的第一版Java,Oracle現已決定每六個月釋出一個新的Java版本,週期縮短了,但是並不是說我們要學的更多了,而是說縮短開發週期後,有助於更快修復bug,並提前放出新功能,因為時間短所以新功能並不是很多。本次更新主要有:區域性變數型別推斷,G1並行完全垃圾回收,以及測試版的Java-Based JIT編譯器。更新詳情如下:

區域性變數型別推斷:在Java 8 lambda表示式的型別推斷基礎上,Java 10現已可以對本地變數型別進行推斷。

G1並行完全垃圾回收:提升了對G1進行完全垃圾回收時的最壞情況的延遲水平。

應用類資料共享:透過擴充套件現有的類資料共享(Class-Data Sharing, CDS)功能,使其允許class存放在共享歸檔中,以此來最佳化啟動速度和減少開銷。

測試版的Java-Based JIT編譯器:在Linux 64位環境下啟用了Java-Based JIT編譯器Graal。Graal是一個通用虛擬機器,可以執行用JavaScript,Python, Ruby, R以及JVM語言Java, Scala, Cloujure, Kotlin程式語言編寫的應用程式,還可執行基於LLVM的程式語言所寫的程式,例如C和C++,而且能提供更快的速度。

垃圾回收介面:為了使不同垃圾回收器的原始碼更好的分離,引入了新的簡潔的垃圾回收器介面。它可以使HotSpot內部垃圾回收程式碼更加模組化,新增垃圾回收器實現時不影響已有的垃圾回收器程式碼,能夠排隊某個垃圾回收器的實現。

本地執行緒握手:執行執行緒回撥函式時不再對全域性VM還原點進行還原,讓關閉單個執行緒變得可能且減少開銷。

新增Unicode語言標籤擴充套件:增強了java.util.Locale和其相關的API來實現BCP 47 Unicode擴充套件。

允許在其他記憶體裝置上進行堆分配:例如可以使用NV-DIMM記憶體裝置。

根證照:提供了一組預設的根證照授權中心(CA)。

基於時間的釋出版本:修定了Java SE平臺和JDK的版本字串模式。

合併JDK森林到單一倉庫:把分散的JDK倉庫統一到了一個倉庫中,簡化了JDK的開發流程。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1978/viewspace-2801245/,如需轉載,請註明出處,否則將追究法律責任。

相關文章