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.多重註解