jdk(1-14)特性總結

JDK 14

無版本代號, 2020-03-17 發佈。
特性:(還未來得及研究每個新特性,無法確認是功能的屬性)
305: instanceof的模式匹配 (預覽)
343: 打包工具 (Incubator)
345: G1的NUMA內存分配優化
349: JFR事件流
352: 非原子性的字節緩衝區映射
358: 友好的空指針異常
359: Records (預覽)
361: Switch表達式 (標準)
362: 棄用Solaris和SPARC端口
363: 移除CMS(Concurrent Mark Sweep)垃圾收集器
364: macOS系統上的ZGC
365: Windows系統上的ZGC
366: 棄用ParallelScavenge + SerialOld GC組合
367: 移除Pack200 Tools和API
368: 文本塊 (第二個預覽版)
370: 外部存儲器API (Incubator)

JDK 13

無版本代號, 2019-09-17 發佈。
特性:
【提升】動態程序類數據共享;
【提升】ZGC:釋放未使用的內存;
【提升】Socket API
【提升】Switch 表達式(預覽);
【提升】文本塊(預覽);

JDK 12

無版本代號, 2019-03-19 發佈。
特性:
【新增】低停頓垃圾收集器(Shenandoah, 實驗);
【新增】微基準套件;
【新增】JVM 常量 API;
【提升】Switch 表達式(預覽);
【提升】使用默認類數據共享(CDS)存檔;
【提升】AArch64 的實現(一個端口);
【提升】G1 優化,終止混合集合,能自動返回堆內存;

JDK 11

無版本代號, 2018-09-25 發佈。

特性:

【新增】可伸縮低延遲垃圾收集器(ZGC, 實驗);
【新增】基於嵌套的訪問控制;
【新增】低開銷垃圾回收器(Epsilon);
【新增】低開銷的 Heap Profiling;
【提升】標準 HTTP Client 升級;
【提升】啓動單個源代碼文件的方法;
【提升】Lambda 參數的局部變量語法;
【提升】支持 TLS 1.3 協議;
【提升】飛行記錄器,之前只有商業版中提供;
【提升】動態類文件常量;
【提升】新增加密算法(ChaCha20 和 Poly1305);
【廢棄】廢棄 Nashorn JavaScript 引擎、 Pack200 工具類和 API
【移除】移除 Java EE 和 CORBA 模塊;

JDK 10

無版本代號, 2018-03-20 發佈。

特性:

【新增】局部變量類型推斷;
【新增】統一的垃圾回收接口;
【新增】並行全垃圾回收期 G1;
【新增】應用程序類數據共享;
【新增】線程-局部管控;
【新增】基於 Java 的 實驗性 JIT 編譯器
【提升】基於時間的版本發佈模式
【提升】備用存儲裝置上的堆分配
【提升】根證書認證
【提升】額外的 Unicode 語言標籤擴展
【提升】整合 JDK 代碼倉庫;
【刪除】移除 Native-Header 自動生成工具;

JDK 9

無版本代號, 2017-09-21 發佈。

特性:

【新增】模塊化,進而使得 JDK 目錄結構發生變化;
【新增】交互式編程環境 REPL(JShell);
【新增】輕量級 JSON API;
【新增】響應式流 (Reactive Streams) API
【新增】HTTP 2.0 客戶端;
【新增】多版本兼容 jar 包;
【新增】貨幣相關的 API;//
【新增】代碼分段緩存;//
【新增】智能 Java 編譯,第二階段;//
【提升】集合:提供集合工廠方法;
【提升】接口:私有接口方法;
【提升】String:底層存儲結構更換;
【提升】API:進程、Stream、@Deprecated、 Optional、CompletableFuture 等;
【提升】鎖爭用機制;
【提升】簡化進程 API;
【提升】Javadoc 的提升

JDK 8

版本代號爲 Spider(蜘蛛), 2014-03-18 發佈, major.minor 版本爲 52

特性:

【新增】Lambda 表達式;
【新增】管道和 stream;
【新增】新的日期和時間 API;
【新增】函數式接口;
【新增】接口的默認方法,又稱爲擴展方法;
【新增】方法與構造函數的引用;
【新增】Optional API;
【新增】並行操作;
【新增】新工具,如 Nashorn 引擎 jjs、類依賴分析器 jdeps;
【提升】支持多重註解,並新增了部分註解;

JDK 7

版本代號爲 Dolphin(海豚), 2011-07-28 發佈, major.minor 版本爲 51

特性:

【新增】Fork and Join
【提升】創建泛型對象時應用類型推導, 鑽石表達式;
【提升】自動資源管理(try-with-resources);
【提升】異常捕獲的處理方式(通過 | 捕獲多個異常),
【提升】 Java NIO2 API(working with path 和 file change notification);
【提升】switch 的分支條件支持字符串;
【提升】集合中新增 TransferQueue 接口, 是 BlockingQueue 的改進版,實現類爲 LinkedTransferQueue;
【提升】JDBC4.1: try-with-resources 和 RowSet1.1
【提升】網絡、Swing、XML 處理、國際化等 API 的提升
【提升】JVM方面, 支持非 Java 語言, Garbage-First-Collector 和提升了 Java HotSpot 虛擬機的性能;
reference-jdk7

JDK 6

版本代號爲 Mustang(野馬), 2006-12-11 發佈, major.minor 版本爲 50

特性:

【新增】Web 服務元數據;
【新增】腳本語言支持;
【新增】JTable 的排序和過濾;
【新增】輕量級的 Http Server;
【新增】插入式註解處理 API(Pluggable Annotation Processing API);
【新增】支持嵌入式數據庫 Derby;
【新增】Console API;
【新增】Compile API;
【新增】StAX(Streaming API for XML) 處理 XML;
【提升】引入 JAXB2 來處理對象和 XML 之間的映射;
【提升】AWT 中新增了兩個類 Desktop 和 SystemTray, 極不常用;
【提升】Common Annotations;
【提升】JAX-WS2.0;
【提升】JDBC4.0;
【提升】引入新的 GC 算法;

JDK 5

版本代號爲 Tiger(老虎), 2004-09-30 發佈, major.minor 版本爲 49。從 JDK5 開始, JDK 的版本不再以 1.x 的方式來命名了, 而是直接用 x 來命名。

特性:

【新增】泛型
【新增】增強 for 循環, 可以使用迭代方式;
【新增】自動裝箱與自動拆箱;
【新增】類型安全的枚舉;
【新增】支持可變參數;
【新增】靜態導入;
【新增】註解:動態註解、元數據;
【新增】Instrumentation;
【新增】內省(Introspector)
【新增】JUC 包
【新增】Scanner 類

JDK 1.4

版本代號爲 Merlin(隼), 2004-02-06 發佈(首次在 JCP 下發行), major.minor 版本爲 48
特性:
【新增】XML處理;
【新增】Java打印服務;
【新增】Logging API;
【新增】Java Web Start;
【新增】斷言;
【新增】引入Preferences API;
【新增】鏈式異常處理;
【新增】支持IPV6;
【新增】正則表達式;
【新增】Image I/O API;
【新增】NIO API;
【新增】集成 JCE、JSSE、JAAS;
【提升】引入JDBC 3.0 API;

JDK 1.3

版本代號爲 Kestrel(紅隼), 2000-05-08 發佈, major.minor 版本爲 47
特性:
【新增】Java Sound API, 已被淘汰;
【新增】jar文件索引;
【新增】JVM 配備 HotSpot JVM;
【新增】代理類;
【新增】Java 命名與目錄接口;
【新增】Java 平臺調試體系;

JDK 1.2

版本代號爲 Playground(操場), 1998-12-08 發佈, major.minor 版本爲 46
特性:
【新增】集合框架;
【新增】對字符串常量做內存映射;
【新增】JIT(Just In Time) 編譯器;
【新增】對打包的 Java 文件進行數字簽名;
【新增】控制授權訪問系統資源的策略工具;
【新增】JFC(Java Foundation Classes), 包括 Swing 1.0, 拖放和 Java2D 類庫,很少使用, 主要的使用場景是用在後端生成圖片的業務場景, 如二維碼生成;
【新增】Java 插件;
【新增】strictfp 關鍵字;
【提升】在 JDBC 中引入可滾動結果集, BLOB, CLOB, 批量更新和用戶自定義類型;
【提升】在 Applet 中添加聲音支持, 已被淘汰;

JDK 1.1

無版本代號, 1997-02-19 發佈, major.minor 版本爲 45
特性:
【新增】JDBC(Java Database Connectivity), 注意不是 Connection;
【新增】內部類;
【新增】Java Bean;
【新增】RMI(Remote Method Invocation);
【新增】反射(僅用於內省);
【提升】IO 引入 Reader/Writer 及其子類;

JDK 1.0

版本代號爲 Oak(橡樹), 1996-01-23 發佈
主要特性:
【新增】JVM;
【新增】Applet: 已被淘汰;
【新增】AWT(Abstract Window ToolKit): 已被淘汰;
【新增】File 和 IO(InputStream/OutputStream) 相關操作 API;

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