當前jdk版本應用最廣的(主流)是jdk1.7和jdk1.6,因爲比較穩定了。jdk1.8最新版本1.8.655,由於優越的特性使一些開發人員初步使用,但是考慮到其向下兼容性,其他相關工具的支持,使用人員少等問題,還是沒有被廣泛使用!當前最新的是jdk1.9,其新特性方案雖提出,但官方還沒有正式發佈!
特別注意:如今網上有很多的jdk版本特性介紹,但對jdk1.7中很多特性描述都存在問題,官方文檔中根本沒有!
例如:final List<Integer> piDigits = [ 1,2,3,4,5,8 ]; Map map = {name:"xxx",age:18};boolean 類型的位運算等。
所以我參照官網重新總結,建議大家學習時最好自己測試下,對網上的一些總結不要盲從!
因此查看每個版本的新特性最好去官網:利用google翻譯就可查看中文版。
jdk歷史版本:http://www.oracle.com/technetwork/java/javase/archive-139210.html
1.5新特性 http://docs.oracle.com/javase/1.5.0/docs/relnotes/features.html
1.6新特性 http://www.oracle.com/technetwork/java/javase/features-141434.html
1.7新特性 http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html
1.8新特性 http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html
下面對jdk1.5-1.8新特性進行總結,至於詳細介紹可以去以上官網查看,或根據下面列出的提綱在線搜索即可!
jdk新特性總結:
jdk1.5
1.自動裝箱與拆箱(享元設計模式)2.類型安全枚舉(參看)3.靜態導入 (參看)4.可變參數(Varargs)(參看)5.內省(Introspector)(參看)6.泛型(Generic) (參看)
7.For-Each循環
8.元數據(註解)(參看)
jdk1.6
1.Web服務元數據(參看)2.腳本語言支持 (參看)3.JTable的排序和過濾(完整代碼示例)4.更簡單,更強大的JAX-WS (參看)5.輕量級Http Server (參看)6.嵌入式數據庫 Derby (參看)
jdk1.7
1.switch中可以使用字串了2.運用List<String> tempList = new ArrayList<>(); 即泛型實例化類型自動推斷3.自動資源管理
4.數字字面量下劃線支持5.二進制字面量6.Swing組件增強(JLayer,Nimbus Look Feel...)(參看)7.捕獲多個異常類型和重新拋出異常與改進類型檢查8.改進的編譯器警告和錯誤使用可變參數方法的非Reifiable形式參數9.java2D的增強(參看)
jdk1.8
1. 允許在接口中有默認方法實現(參看)2. Lambda表達式(參看)3. 函數式接口(參看)4. 方法和構造函數引用(參看)5. Lambda的範圍(參看)6. 內置函數式接口(參看)7. Streams在新的類java.util.stream
包提供了一個流API來支持函數式的運算元素的流。該流API被集成到集合API,它使上集合批量操作,例如連續或平行地圖,減少變換。8. Parallel Streams流操作可以是順序的,也可以是並行的。順序操作通過單線程執行,而並行操作則通過多線程執行。並行操作提高運行效率。9. Map(參看)map是不支持流操作的。而更新後的map現在則支持多種實用的新方法,來完成常規的任務。10. 時間日期API(參看)11. Annotations(參看)