#JDK 1.8 新特性
接口中的靜態方法 只能由接口自己調用
接口中的默認方法 可以不被覆蓋
#JDK 1.9 新特性(可能在JDK8中被忽略了,沒來得及加)
接口可以定義私有方法,但是只能讓自己調用,實現類不能調用
<>學名 鑽石操作符
在定義匿名內部類時,這個鑽石操作符可以使用類型推斷
Comparator<Object> com = new Comparator<>(){...};
JDK 1.7中加了一個類型推斷,所以有如下寫法
ArrayList<String> list = new ArrayList<>;
java8中,可以實現資源的自動關閉,但是要求執行后必須關閉的所有資源必須在try子句中初始化,否則編譯不通過。
java9的話,只要把要關閉的資源變量放在try的小括號中即可,但是在不能更改這個資源變量的值;
motivation 動機
String 不用 char[] 來存儲,改成了byte[] 加上 編碼標記,節約了一些空間
java9新特性 用集合工廠方法去創建只讀集合
Collections.unmodifiableList(list);
標識接口,這種接口里面啥代碼也沒有,只起一個標識的作用
可以用of方法來創建只讀集合
List.of(1,2,3,4,5);
Inputstream 可以使用 transferTo 直接將數據傳輸到OutputStream
在使用nosql時 stream api就非常實用了
Stream.of();
of參數不能存儲單個null,否則會報錯
於是jdk9中加了一個ofNullable(),只能放一個值
... 學名 可變形參
alt + / 快捷鍵自動補全
Nashorn 是一個Javascript引擎
2014 java8
2017.9 java9
2018.3 java10
2018.9 java11 LTS版
2019.3 java12
idea 18年的第三個版本
LTS是長期支持(Long Term Support)的縮寫
長期支持穩定版
太多的類型聲明只會分散注意力,不會帶來額外的好處
# Java 10 的新特性
局部變量的類型推斷
用var代替了,聲明變量時,根據所附的值,推斷變量的類型
copyOf()創建一個只讀的集合
java11 提供了 兩種新的GC Epsilon 和 ZGC(這一個GC是具有划時代意義的)
# java11
String 的.isBlank()、strip()方法
java11中廢棄掉Nashorn引擎
experimental 實驗的
stw(stop the world)
java flight recorder java飛行器
新的貨幣API
currency