溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

歷代JDK新特性是什么

發布時間:2021-12-17 13:51:10 來源:億速云 閱讀:203 作者:小新 欄目:大數據

這篇文章將為大家詳細講解有關歷代JDK新特性是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

JVM發展史

一,歷代JDK新特性介紹

1996年 SUN JDK 1.0 Classic VM

初代版本,偉大的一個里程碑,但是是純解釋運行,使用外掛JIT,性能比較差,運行速度慢。

1997年 JDK1.1 發布

AWT、內部類、JDBC、RMI、反射

1998年 JDK1.2 Solaris Exact VM

JIT 解釋器混合
Accurate Memory Management 精確內存管理,數據類型敏感
提升的GC性能
JDK1.2開始 稱為Java 2 J2SE J2EE J2ME 的出現
加入Swing Collections

2000年 JDK 1.3 Hotspot 作為默認虛擬機發布

加入JavaSound

2002年 JDK 1.4 Classic VM退出歷史舞臺

Assert 正則表達式 NIO IPV6 日志API 加密類庫

2004年發布 JDK1.5 即 JDK5 、J2SE 5 、Java 5

自動裝箱拆箱
泛型支持
元數據(注解)
Introspector(內?。?br/>enum(枚舉)
靜態引入
可變長參數(Varargs)
foreach(高級虛幻)
JMM(內存模型)
concurrent(并發包)

2006年發布JDK1.6既JDK6

命名方式變更
腳本語言
編譯API和微型HTTP服務器API
鎖與同步
垃圾收集
類加載
JDBC 4.0(jdbc高級)
Java Compiler (Java? 編程語言編譯器的接口)
可插拔注解
Native PKI(公鑰基礎設)
Java GSS (通用安全服務)
Kerberos ( 一種安全認證的系統)
LDAP (LDAP )
Web Services (web服務即xml傳輸)

2011年 JDK7發布

switch語句塊中允許以字符串作為分支條件
創建泛型對象時應用類型推斷
try-with-resources(一個語句塊中捕獲多種異常)
null值得自動處理
數值類型可以用二進制字符串表示
引入Java NIO.2開發包
動態語言支持
安全的加減乘除
Map集合支持并發請求

2014年 JDK8發布

引入Lambda 表達式
管道和流
新的日期和時間 API(加強對日期與時間的處理)
默認的方法(接口可以編寫默認的方法)
類型注解
Nashorn javascript引擎(允許java運行特定JavaScript代碼)
Optional class (處理nullPointException)
并行累加器
并行操作
內存錯誤移除
TLS SNI 服務器名稱標識(Server Name Identification)

2016年JDK9

模塊化
接口支持編寫私有方法
Javadoc改進(支持符合html5 標準輸出)
Stream API 增強(簡化調用、操作、提供常用便捷的方法)
image API增強(支持多分辨率解析)
多版本jar支持(在不同環境運行不同jar包)
改進棄用注解使用@Deprecated
內置輕量級json API
棄用Applet API
Deprecation的棄用

2018年JDK10

JEP286,var 局部變量類型推斷。
JEP296,將原來用 Mercurial 管理的眾多 JDK 倉庫代碼,合并到一個倉庫中,簡化開發和管理過程。
JEP304,統一的垃圾回收接口。
JEP307,G1 垃圾回收器的并行完整垃圾回收,實現并行性來改善最壞情況下的延遲。
JEP310,應用程序類數據 (AppCDS) 共享,通過跨進程共享通用類元數據來減少內存占用空間,和減少啟動時間。
JEP312,ThreadLocal 握手交互。在不進入到全局 JVM 安全點 (Safepoint) 的情況下,對線程執行回調。優化可以只停止單個線程,而不是停全部線程或一個都不停。
JEP313,移除 JDK 中附帶的 javah 工具??梢允褂?javac -h 代替。
JEP314,使用附加的 Unicode 語言標記擴展。
JEP317,能將堆內存占用分配給用戶指定的備用內存設備。
JEP317,使用 Graal 基于 Java 的編譯器,可以預先把 Java 代碼編譯成本地代碼來提升效能。
JEP318,在 OpenJDK 中提供一組默認的根證書頒發機構證書。開源目前 Oracle 提供的的 Java SE 的根證書,這樣 OpenJDK 對開發人員使用起來更方便。
JEP322,基于時間定義的發布版本,即上述提到的發布周期。版本號為$FEATURE.$INTERIM.$UPDATE.$PATCH,分別是大版本,中間版本,升級包和補丁版本。

2018年JDK11

新特性及更新修改:
基于嵌套的訪問控制
標準 HTTP Client 升級
Epsilon:低開銷垃圾回收器
簡化啟動單個源代碼文件的方法
用于 Lambda 參數的局部變量語法
低開銷的 Heap Profiling
支持 TLS 1.3 協議
ZGC:可伸縮低延遲垃圾收集器
飛行記錄器
動態類文件常量

2019年JDK12

Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) 低暫停時間的GC
Microbenchmark Suite 微基準測試套件
Switch Expressions (Preview) Switch表達式
JVM Constants API JVM常量API
One AArch74 Port, Not Two 只保留一個AArch74實現
Default CDS Archives 默認類數據共享歸檔文件
Abortable Mixed Collections for G1 可中止的G1 Mixed GC
Promptly Return Unused Committed Memory from G1 G1及時返回未使用的已分配內存

2019年JDK13

JEP 350,Dynamic CDS Archives
擴展應用程序類-數據共享,以允許在 Java 應用程序執行結束時動態歸檔類。歸檔類將包括默認的基礎層 CDS(class data-sharing)存檔中不存在的所有已加載的應用程序類和庫類。

JEP 351,ZGC: Uncommit Unused Memory
增強 ZGC 以將未使用的堆內存返回給操作系統。

JEP 353,Reimplement the Legacy Socket API
使用易于維護和調試的更簡單、更現代的實現替換 java.net.Socket 和java.net.ServerSocket API 使用的底層實現。

JEP 354,Switch Expressions (Preview)
可在生產環境中使用的 switch 表達式,JDK 13 中將帶來一個 beta 版本實現。switch 表達式擴展了 switch 語句,使其不僅可以作為語句(statement),還可以作為表達式(expression),并且兩種寫法都可以使用傳統的 switch 語法,或者使用簡化的“case L ->”模式匹配語法作用于不同范圍并控制執行流。這些更改將簡化日常編碼工作,并為 switch 中的模式匹配(JEP 305)做好準備。

JEP 355,Text Blocks (Preview)
將文本塊添加到 Java 語言。文本塊是一個多行字符串文字,它避免了對大多數轉義序列的需要,以可預測的方式自動格式化字符串,并在需要時讓開發人員控制格式。

2020年發布JDK14

305:instanceof的模式匹配(預覽)
343:包裝工具(培養箱)
345:G1的NUMA感知內存分配
349:JFR事件流
352:非易失性映射字節緩沖區
358:有用的NullPointerExceptions
359:記錄(預覽)
361:開關表達式(標準)
362:棄用Solaris和SPARC端口
363:刪除并發標記掃描(CMS)垃圾收集器
364:Mac OS上的ZGC你像
365:Windows上的ZGC
366:棄用ParallelScavenge + SerialOld GC組合
367:刪除Pack200工具和API
368:文本塊(第二預覽)
370:外部存儲器訪問API(孵化器)


關于“歷代JDK新特性是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節
推薦閱讀:
  1. jdk1.8新特性
  2. JDK新特性

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

jdk
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女