非常重要 非常重要 非常重要
JDK8的新特性一般都是面試熱點話題了,其實不用特別的去記憶,因為加的一些東西我們用的也比較少。
1、JDK8提供了接口static和Default方法。特別是Default修飾的方法,dafault修飾符是我們設計模式中的適配器設計模式的重要實現原理,讓我們接口實現類不需要重寫全部的抽象方法,default修飾的方法可以選擇性的重寫。
2、JDK8新增了線程安全的日期API,在Java.time包下,如LocalDateTime,ZonedDateTime
public final class ZonedDateTime
implements Temporal, ChronoZonedDateTime<LocalDate>, Serializable {
}
1
2
3
3、對部分接口做了性能提升,list接口增加了sort(comparator)排序功能
HashMap性能提升,新節點插入到鏈表的尾部,當節點數量大於8個時會轉換成紅黑樹
concurrentHashMap有原來的分段鎖協議提升為CAS算法
CAS算法 比較 - 設置
例如現在有三個數 : 內存值V , 舊的預期值A , 要修改成B
那么當且僅當 A = V 時,才會修改內存V的值為B並返回true,否則什么都不做返回false,CAS一定要volatile 關鍵字的支持,利用volatile關鍵字的可見性 , 保證每次從主內存中拿到的都是最新的那個值,否則舊的預期值A對於某條線程來說永遠都是一個不會變的值
只要某次CAS操作失敗,那么永遠都不可能成功
4、新增了Lambda表達式 這個還是比較重要的
5、新增了Stream流的支持, 例如FileInputStream,FileOutPutStream。字節流
6、數組集合增加了支持並行操作
更多Java學習資料可關注:gzitcast