https://blog.51cto.com/11038441/2331685?source=dra
Java5開發代號爲Tiger(老虎),於2004-09-30發行
特性列表
-
泛型
-
枚舉
-
自動裝箱拆箱
-
可變參數
-
註解
-
foreach循環(增強for、for/in)
-
靜態導入
-
格式化(System.out.println 支持%s %d等格式化輸出)
-
線程框架/數據結構 JUC
-
Arrays工具類/StringBuilder/instrument
Java 6(略)
Java 7
特性列表
-
switch中添加對String類型的支持
-
數字字面量的改進 / 數值可加下劃
-
異常處理(捕獲多個異常) try-with-resources
-
增強泛型推斷
-
JSR203 NIO2.0(AIO)新IO的支持
-
JSR292與InvokeDynamic指令
-
Path接口、DirectoryStream、Files、WatchService(重要接口更新)
-
fork/join framework
Java 8
革命性的版本了,在語言、編譯器、類庫、開發工具以及Java虛擬機等方面都帶來了不少新特性。
Lambda表達式
接口的默認方法與靜態方法
方法引用(含構造方法引用)
重複註解
擴展註解的支持(類型註解)
Optional
Stream
Date/Time API (JSR 310)
JavaScript引擎Nashorn
Base64
Java 9
提供了超過 150 項新功能特性,包括備受期待的模塊化系統、可交互的 REPL 工具:jshell,JDK 編譯工具,Java 公共 API 和私有代碼,以及安全增強、擴展提升、性能管理改善等。
最重要的十大新特性
-
平臺級modularity(原名:Jigsaw) 模塊化系統
-
Java 的 REPL 工具: jShell 命令
-
多版本兼容 jar 包(這個在處理向下兼容方面,非常好用)
-
語法改進:接口的私有方法
-
語法改進:UnderScore(下劃線)使用的限制
-
底層結構:String 存儲結構變更(這個很重要)
-
集合工廠方法:快速創建只讀集合
-
增強的 Stream API
-
全新的 HTTP 客戶端 API
-
其它特性
-
它的新特性來自於100於項JEP和40於項JSR
Java 10
號稱有109項新特性,包含12個JEP。
-
局部變量的類型推斷 var關鍵字
-
GC改進和內存管理 並行全垃圾回收器 G1
-
垃圾回收器接口
-
線程-局部變量管控
-
合併 JDK 多個代碼倉庫到一個單獨的儲存庫中
-
新增API:ByteArrayOutputStream
-
新增API:List、Map、Set
-
新增API:java.util.Properties
-
新增API: Collectors收集器
Java 11
第一個長期支持版本(LTS版本,Long-Term-Support,持續支持到2026年9月),帶來了 ZGC、Http Client 等重要特性,一共包含 17 個 JEP(JDK Enhancement Proposals,JDK 增強提案)。
最實用的八大新特性
-
本地變量類型推斷
-
字符串加強
-
集合加強
-
Stream 加強
-
Optional 加強
-
InputStream 加強
-
HTTP Client API
-
化繁爲簡,一個命令編譯運行源代碼
JAVA 12
2019-03-19
作爲“功能性版本”,JDK 12 總共包含 8 個新的 JEP ,分別爲:
- 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) :新增一個名爲 Shenandoah 的垃圾回收器,它通過在 Java 線程運行的同時進行疏散 (evacuation) 工作來減少停頓時間。
- 230: Microbenchmark Suite:新增一套微基準測試,使開發者能夠基於現有的 Java Microbenchmark Harness(JMH)輕鬆測試 JDK 的性能,並創建新的基準測試。
- 325: Switch Expressions (Preview) :對 switch 語句進行擴展,使其可以用作語句或表達式,簡化日常代碼。
- 334: JVM Constants API :引入一個 API 來對關鍵類文件 (key class-file) 和運行時工件的名義描述(nominal descriptions)進行建模,特別是那些可從常量池加載的常量。
- 340: One AArch64 Port, Not Two :刪除與 arm64 端口相關的所有源碼,保留 32 位 ARM 移植和 64 位 aarch64 移植。
- 341: Default CDS Archives :默認生成類數據共享(CDS)存檔。
- 344: Abortable Mixed Collections for G1 :當 G1 垃圾回收器的回收超過暫停目標,則能中止垃圾回收過程。
- 346: Promptly Return Unused Committed Memory from G1 :改進 G1 垃圾回收器,以便在空閒時自動將 Java 堆內存返回給操作系統。