Java 5以後各個版本新特性

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 堆內存返回給操作系統。

 

 

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