你知道JDK1.7和1.8的區別嗎?
- 2019 年 10 月 5 日
- 筆記
JDK1.7
1.1二進位變數的表示,支援將整數類型用二進位來表示,用0b開頭。
1.2 Switch語句支援String類型。
1.3 Try-with-resource語句:
ry-with-resources語句是一種聲明了一種或多種資源的try語句。資源是指在程式用完了之後必須要關閉的對象。
try-with-resources語句保證了每個聲明了的資源在語句結束的時候都會被關閉。任何實現了java.lang.AutoCloseable介面的對象,和實現了java.io.Closeable介面的對象,都可以當做資源使用。
1.4 Catch多個異常
1.5 數字類型的下劃線表示 更友好的表示方式,不過要注意下劃線添加的一些標準
1.6 泛型實例的創建可以通過類型推斷來簡化 可以去掉後面new部分的泛型類型,只用<>就可以了。
1.7在可變參數方法中傳遞非具體化參數,改進編譯警告和錯誤
1.8 資訊更豐富的回溯追蹤 就是上面try中try語句和裡面的語句同時拋出異常時,異常棧的資訊等等
JDK1.8
java 1.8 是1.7的增強版,新增了以下特性
1、default關鍵字,在介面中可以通過使用default關鍵字編寫方法體,實現類可以不用實現該方法,可以進行直接調用
2、Lambda 表達式,函數式編程,函數式編程就是一種抽象程度很高的編程範式,純粹的函數式程式語言編寫的函數沒有變數
3、函數式介面,「函數式介面」是指僅僅只包含一個抽象方法的介面,每一個該類型的lambda表達式都會被匹配到這個抽象方法。jdk1.8提供了一個@FunctionalInterface註解來定義函數式介面,如果我們定義的介面不符合函數式的規範便會報錯。
4、方法與構造函數引用,jdk1.8提供了另外一種調用方式::,當 你 需 要使用 方 法 引用時 , 目 標引用 放 在 分隔符::前 ,方法 的 名 稱放在 後 面
5、局部變數限制
6、Date Api更新1.8之前JDK自帶的日期處理類非常不方便,我們處理的時候經常是使用的第三方工具包,比如commons-lang包等。不過1.8出現之後這個改觀了很多,比如日期時間的創建、比較、調整、格式化、時間間隔等。這些類都在java.time包下。比原來實用了很多。
7、流,流是Java API的新成員,它允許我們以聲明性方式處理數據集合(通過查詢語句來表達,而不是臨時編寫一個實現)。就現在來說,我們可以把它們看成遍曆數據集的高級迭代器。此外,流還可以透明地並行處理,也就是說我們不用寫多執行緒程式碼了。
