1.10
局部變量
可以使用var作為局部變量類型推斷標識符。此符號僅用于局部變量界赔,增強for循環(huán)的索引蜕乡,以及傳統(tǒng)for循環(huán)的本地變量。
示例
var str = "ABC"; //根據(jù)推斷為 字符串類型
var list = new ArrayList<String>(); // 推斷 ArrayList<String>
var stream = list.stream(); // 推斷 Stream<String>`
并行Full GC的G1
通過并行Full GC刃唐,改善G1的延遲
- G1設計目的是避免Full收集,但是當集合不能足夠快的回收內(nèi)存時袭景,就會出現(xiàn)Full GC
- jdk10使用并行化標記-清除-壓縮算法唁桩,并使用Young和mixed收集器相同的線程數(shù)量
- 線程的數(shù)量可以由-XX:ParallelGCThreads控制
1.9
模塊化JDK源碼
允許開發(fā)者自定義組件
新工具
提供了repl工具叫JShell,可以在命令行或者idea終端運行
核心庫新內(nèi)容
簡化的進程API
新增ProcessHandle類
- 提供本地進程的id耸棒,參數(shù)荒澡,命令,父進程与殃,子進程等
- 還可以監(jiān)控進程的活力和破壞線程
可操作的發(fā)布-訂閱框架
- 主要由Flow類提供
以及對CompletableFuture API增強
集合類新增of方法
創(chuàng)建集合實例更容易
Set<String> alphabet = Set.of("a", "b", "c");
List<String> strings = List.of("first", "second");
Try-With-Resources的改變
jdk1.7引入這個单山,為了減少finally語句塊的編寫。1.9進行了改進