- Lambda 表達式
- 函數式接口
- 方法引用與構造器引用
- Stream API
- 接口中的默認方法與靜態方法
- 新時間日期 API
- 其他新特性
速度更快:
優化 HashMap:
jdk 1.8 之前使用的是:數組 + 鏈表(小灰的算法之旅有介紹)
jdk 1.8 之後,在查詢某個數據的時候出現因鏈表過長導致的查詢效率不高,採用:數組 + 鏈表 + 紅黑樹 方式
當 hashmap 對象的碰撞次數大於 8 ,也就是某個數組元素對應的鏈表長度達到 9,同時該對象包含的總元素數量達到 64 的時候,會將鏈表轉換成紅黑樹。(紅黑樹:除了添加,刪除、修改、查詢效率都優於鏈表),對應的 ConcurrentHashMap 的效率也提高了。
空間上:
之前空間的分類:棧、堆、方法區(實際上是堆上的一塊永久區)
jdk 1.8 之後,方法區被取消,單獨劃分出來一塊空間叫做 Metapace 元空間,使用的是物理 內存,不再是之前的分配內存。
代碼更少:
增加了新的語法 Lambda 表達式
強大的 Stream API:
操作數據更加的簡單
便於並行:
提升 Fork / Join 框架
最大化減少空指針異常 Optional