1. 程式人生 > >Java 10更新匯總,新的編譯器通吃主流編程語言

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

java java10 jdk jdk10 java 10

早些時候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的開發流程。

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