JDK1.5 ~ JDK1.8 新增特性的歷程

jdk1.5新特性

1.自動裝箱與拆箱:原始類型與對應的包裝類不用顯式轉換

ArrayList list=new ArrayList()----------->ArrayList<Integer>list=new ArrayList<Integer>();

2.靜態導入:通過使用 import static,就可以不用指定 Constants 類名而直接使用靜態成員,包括靜態方法。

Math.sqrt();----------->sqrt();

3.For-Each循環:For-Each循環得加入簡化了集合的遍歷。

for(i=0;i<a.length;i++){......}----------->for(int i:a){......}

4.泛型:可以指定集合的元素類型。

ArrayList list=new ArrayList()----------->ArrayList<Integer>list=new ArrayList<Integer>();

5.變長參數:有任意個參數,看作數組。

int sum(int ...intlist)

6.枚舉:

public enum MyEnum{ RED,GREEN,YELLOW }

7.線程併發庫

java.util.concurrent
    包括
    1.線程互斥
        工具類描述:Lock,RedWriteLock
    2.線程通信
        描述:Condition
    3.線程池
        ExecutorService
    3.同步隊列
        ArrayBlockingQueue
    4.同步集合
        ConcurrentHashMap,CopyOnWriteArrayList
    5.線程同步工具
        Semaphore

jdk1.6新特性

1.使用Compiler API

2.輕量級Http Server API

3.插入式註解API

4.用Console開發控制檯程序

5.對腳本語言的支持

6.嵌入式數據庫 Derby
jdk1.7新特性

1.switch中可以使用字符串

2.對集合類的語言支持:Java將包含對創建集合類的第一類語言支持。這意味着集合類的創建可以像Ruby和Perl那樣了(下面的這些集合是不可變的)。

3.二進制面值

4.數字變量對下滑線的支持

5.try-with-resource

6.捕獲多種異常並用改進後的類型檢查來重新拋出異常

7.創建泛型時類型推斷

8.新增一些取環境信息的工具方法

9.安全的加減乘除
jdk1.8新特性

1.HashMap中的紅黑樹:HashMap中鏈長度大於8時採取紅黑樹的結構存儲。

2.ConcurrentHashMap:底層採用node數組+鏈表+紅黑樹的存儲結構,通過CAS算法(樂觀鎖機制)+synchronized來保證併發安全的實現。

3.接口中可以有默認方法與靜態方法,也就是接口中可以有實現方法

4.Lambda表達式:lambda表達式的使用簡化了代碼。

5.多重註解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章