欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)邀請碼778899分享:java JDK版本特性

柚子快報(bào)邀請碼778899分享:java JDK版本特性

http://yzkb.51969.com/

目錄

一、名詞說明

1.1 LTS版本

1.2屬于LTS的JDK版本

二、JDK各版本特性

2.1 JDK8(2014-03, LTS)

2.2 JDK9(2017-09)

2.3 JDK10(2018-03)

2.4 JDK11(2018-09, LTS)

2.5 JDK12(2019-03)

2.6 JDK13(2019-09)

2.7 JDK14(2020-03)

2.8 JDK15(2020-09)

2.9 JDK16(2021-03)

2.10 JDK17(2021-09, LTS)

2.11 JDK18(2022-03)

2.12 JDK19(2022-09)

2.13 JDK20(2023-03)

2.14 JDK21 (2023-09, LTS)

2.15 JDK22 (2024-03)

三、相關(guān)文獻(xiàn)

3.1 Java中JDK8、JDK11、JDK17,該怎么選擇?

3.2 JDK各版本文檔以及遷移說明

3.3 Oracle Java SE支持路線圖|Oracle 中國

一、名詞說明

1.1 LTS版本

LTS,原名 Long-Term Support 長期支持,正常情況下 當(dāng) JDK 12 正式發(fā)布后 JDK 11 將失效,但是由于 JDK 11 是 LTS 版本,所以會延長支持更新至 2032 年。

LTS 版本更加注重穩(wěn)定性,安全性,性能改進(jìn),默認(rèn)支持是 8 年,其中 JDK 8 延長至 2030 年(16年),延長支持期間不再提供新的功能。

LTS 版本自 2021 年起,從 3 年發(fā)布一次更改為 2 年一次

1.2屬于LTS的JDK版本

JDK8, JDK11, JDK17, JDK21

二、JDK各版本特性

2.1 JDK8(2014-03, LTS)

接口默認(rèn)方法

允許在接口中定義默認(rèn)實(shí)現(xiàn)。

lambda表達(dá)式

引入了函數(shù)式編程的特性,使得代碼更加簡潔和靈活。

函數(shù)式接口streamAPI新的日期工具類Nashorn JavaScript 引擎

一個(gè)新的輕量級 JavaScript 運(yùn)行時(shí),允許在 JVM 上執(zhí)行 JavaScript 代碼。

性能改進(jìn)

JDK 8 在垃圾回收器和 JIT 編譯器方面進(jìn)行了優(yōu)化,提高了性能。

2.2 JDK9(2017-09)

主要:是API的優(yōu)化,如支持HTTP2的Client API、JVM采用G1為默認(rèn)垃圾收集器。

模塊化

即只加載應(yīng)用運(yùn)行需要的模塊

JShell

一個(gè)新的交互式命令行工具,允許開發(fā)者逐行執(zhí)行 Java 代碼,并立即看到結(jié)果。

改進(jìn)的Java doc 生成的Java doc符合H5標(biāo)準(zhǔn),支持API搜索HTTP/2 新的方式處理HTTP調(diào)用,用于替換 HttpURLConnection,并提供對WebSocket和HTTP/2的支持。改進(jìn)的 Stream API

增加了新的中間操作和終端操作,使得 Stream API 更加強(qiáng)大。

集合工廠方法

在 java.util.Collections 中增加了一些新的靜態(tài)工廠方法,用于創(chuàng)建不可修改的集合。

處理進(jìn)程

引入了 java.lang.ProcessHandle 類,提供了對操作系統(tǒng)進(jìn)程的更細(xì)粒度控制。

2.3 JDK10(2018-03)

主要:通過var關(guān)鍵字實(shí)現(xiàn)局部變量類型推斷,使Java語言變成弱類型語言、JVM的G1垃圾回收由單線程改成多線程并行處理,降低G1的停頓時(shí)間。

改進(jìn)的垃圾回收器 并行full gc的G1,通過并行Full GC, 改善G1的延遲。目前對G1的full GC的實(shí)現(xiàn)采用了單線程-清除-壓縮算法。JDK10開始使用并行化-清除-壓縮算法?;趯?shí)驗(yàn)Java的JIT編譯器 啟用基于Java的JIT編譯器Graal,它是JDK9中引入的Ahead-of-time(AOT)編譯器的基礎(chǔ)。局部變量類型推斷

在 JDK 10 中,局部變量的類型推斷(var 關(guān)鍵字)被引入,這使得代碼更加簡潔。

HTTP 客戶端 API

提供了一個(gè)新的 HTTP 客戶端 API,用于簡化 HTTP 請求的發(fā)送和處理。

2.4 JDK11(2018-09, LTS)

主要:對于JDK9和JDK10的完善,主要是對于Stream、集合等API的增強(qiáng)、新增ZGC垃圾收集器。

HttpClient增強(qiáng) 同時(shí)提供了同步調(diào)用和異步調(diào)用實(shí)現(xiàn)。JDK對http對調(diào)用支持已經(jīng)足夠強(qiáng),以前apache提供的httpComponents基本可以去除了。ZGC JDK11最矚目的特性,但目前是實(shí)驗(yàn)性質(zhì)的。目標(biāo)是GC暫停時(shí)間不會超過10ms,既能處理幾百兆的小堆,也能處理幾個(gè)T的大堆。完全支持Linux容器 JDK10開始,JVM可以識別當(dāng)前是否在容器中運(yùn)行,能接受容器設(shè)置的內(nèi)存限制和CPU限制。Flight Recorder

引入了 Flight Recorder,這是一個(gè)低開銷的事件記錄系統(tǒng),用于監(jiān)控和診斷 JVM 的性能問題。

Epsilon 垃圾回收器

作為一個(gè)實(shí)驗(yàn)性的垃圾回收器,Epsilon GC 旨在為某些特定的應(yīng)用場景提供更好的性能。

改進(jìn)的 AArch64(ARM64)支持

JDK 11 對 ARM64 架構(gòu)提供了更好的支持,使得 Java 應(yīng)用程序可以在更多的設(shè)備上運(yùn)行。

移除 Nashorn 引擎和 CORBA 模塊

這兩個(gè)特性在 JDK 11 中被移除,以減少 JDK 的體積和復(fù)雜性。

2.5 JDK12(2019-03)

主要:switch表達(dá)式語法擴(kuò)展、G1收集器優(yōu)化、新增Shenandoah GC垃圾回收算法。

優(yōu)化swich使用

2.6 JDK13(2019-09)

主要:ZGC優(yōu)化,釋放內(nèi)存還給操作系統(tǒng)、socket底層實(shí)現(xiàn)引入NIO。

優(yōu)化字符串拼接優(yōu)化Socket API

2.7 JDK14(2020-03)

gc相關(guān)

刪除CMS;棄用 ParallelScavenge + SerialOld GC 的垃圾回收算法組合;將 zgc 垃圾回收器移植到 macOS 和 windows 平臺。

instanceof擴(kuò)展NullPointerException打印信息增強(qiáng),定位錯(cuò)誤

2.8 JDK15(2020-09)

RMI Actiation被標(biāo)記為Deprecate,在JDK17中刪除。

RMI遠(yuǎn)程方法調(diào)用,在JDK1.2中引入,為分布式提供延遲加載方式,已被web服務(wù)器替代。

JEP 339 Edwards-Curve Digital Signature Algorithm (EdDSA) 實(shí)現(xiàn)了EdDSA橢圓曲線簽名算法。JEP 384 Records (Second Preview) 引入了Record類型,解決定義大量get/set方法的問題,可一定程度替代掉lomobok移除Nashorn JavaScipt引擎

2.9 JDK16(2021-03)

387: 彈性Metaspace功能可將未使用的HotSpot虛擬機(jī)的Class Metadata(Metaspace)占用的內(nèi)存更迅速的返回給操作系統(tǒng),從而減少M(fèi)etaspace的占用并簡化Metaspace的代碼以降低維護(hù)成本。388: 將JDK移植到Windows/AArch64平臺。392: 提供用于打包獨(dú)立的Java應(yīng)用程序的jpackage工具。

2.10 JDK17(2021-09, LTS)

主要:對前幾個(gè)版本的整合和完善。Spring 6和SpringBoot3需要JDK17。

JDK 內(nèi)部的強(qiáng)封裝,除了sun.misc.Unsafe等關(guān)鍵的內(nèi)部 API 外,用戶將不再可能通過單個(gè)命令行選項(xiàng)來 relax 對內(nèi)部元素的強(qiáng)封裝,這在 JDK 9 到 JDK 16 中是可行的。該計(jì)劃的目標(biāo)包括提高 JDK 的安全性和可維護(hù)性,并鼓勵(lì)開發(fā)人員從內(nèi)部元素遷移到標(biāo)準(zhǔn) API。刪除遠(yuǎn)程方法調(diào)用 (RMI) 激活機(jī)制,同時(shí)保留 RMI 的其余部分。刪除實(shí)驗(yàn)性 AOT 和 JIT 編譯器,它們幾乎沒有使用,但需要大量維護(hù)工作。該計(jì)劃要求維護(hù) Java 級別的 JVM 編譯器接口,以便開發(fā)人員可以繼續(xù)使用外部構(gòu)建的編譯器版本進(jìn)行 JIT 編譯。將 JDK 移植到 MacOS/AArch64 以響應(yīng) Apple 將其 Macintosh 計(jì)算機(jī)從 x64 轉(zhuǎn)換到 AArch64 的計(jì)劃(Apple M1處理器)。針對 MacOS/AArch64 的更改有可能破壞現(xiàn)有的 Linux/AArch64、Windows/AArch64 和 MacOS/x64 port,但這種風(fēng)險(xiǎn)可通過預(yù)集成測試來降低。棄用 Applet API 以進(jìn)行刪除。這個(gè) API 本質(zhì)上是無關(guān)緊要的,因?yàn)樗?Web 瀏覽器供應(yīng)商要么已經(jīng)取消了對 Java 瀏覽器插件的支持,要么已經(jīng)宣布了這樣做的計(jì)劃。Applet API 之前在 2017 年 9 月的 Java 9 中已被棄用,但并未刪除。Applet API徹底被刪除,最早java就是靠applet開始火的。棄用 Security Manager,準(zhǔn)備在未來版本中移除。追溯到 Java 1.0,Security Manager 一直是保護(hù)客戶端 Java 代碼的主要手段,很少用于保護(hù)服務(wù)器端代碼。該提案的一個(gè)目標(biāo)是評估是否需要新的 API 或機(jī)制來解決使用 Security Manager 的特定狹窄用例,例如阻塞System::exit。計(jì)劃要求棄用 Security Manager 以與舊 Applet API 一起刪除,該 API 也計(jì)劃在 JDK 17 中棄用。

2.11 JDK18(2022-03)

Javadoc中支持代碼片段

從JDK18開始,可以使用@snippet來生成注釋,且可以高亮某個(gè)代碼片段

默認(rèn)UTF-8字符編碼簡單的Web服務(wù)器

JDK18中提供了一個(gè)新命令jwebserver, 運(yùn)行這個(gè)命令可以啟動一個(gè)簡單的,最小化的靜態(tài)web服務(wù)器,默認(rèn)發(fā)布的是當(dāng)前目錄

使用方法句柄重新實(shí)現(xiàn)反射核心功能 JDK18改進(jìn)了java.lang.reflect.Method, Constructor的實(shí)現(xiàn)邏輯,使得性能更佳。 不涉及到API的變動,只要升級到該版本,就能享受到更好的性能?;ヂ?lián)網(wǎng)地址解析 SPI 對于互聯(lián)網(wǎng)地址解析 SPI,為主機(jī)地址和域名地址解析定義一個(gè) SPI,以便 java.net.InetAddress 可以使用平臺內(nèi)置解析器以外的解析器。

2.12 JDK19(2022-09)

405: Record記錄模式(預(yù)覽)422: Linux/RISC-V 端口424: 外部函數(shù)和內(nèi)存 API(預(yù)覽版)425: 虛擬線程(預(yù)覽)426: Vector API(第四孵化器)427: 開關(guān)的模式匹配(第三次預(yù)覽)428: 結(jié)構(gòu)化并發(fā)(孵化器)

2.13 JDK20(2023-03)

429:Scoped Values范圍值(孵化器)432:Record記錄模式(第二次預(yù)覽)433:開關(guān)的模式匹配(第四次預(yù)覽)434:外部函數(shù)和內(nèi)存 API(第二預(yù)覽版)436:虛擬線程(第二預(yù)覽版)437:結(jié)構(gòu)化并發(fā)(第二個(gè)孵化器)438:Vector API(第五孵化器)

2.14 JDK21 (2023-09, LTS)

430: 字符串模板(預(yù)覽)431: 有序集合439: 世代ZGC440: 記錄模式441: 開關(guān)的模式匹配442: 外部函數(shù)和內(nèi)存 API(第三次預(yù)覽版)443: 未命名模式和變量(預(yù)覽)444: 虛擬線程445: 未命名類和實(shí)例主要方法(預(yù)覽)446: 范圍值(預(yù)覽)448: Vector API(第六個(gè)孵化器)449: 棄用 Windows 32 位 x86 端口以進(jìn)行刪除451: 準(zhǔn)備禁止動態(tài)加載代理452: 密鑰封裝機(jī)制API453: 結(jié)構(gòu)化并發(fā)(預(yù)覽版)

2.15 JDK22 (2024-03)

423: G1 的區(qū)域固定447: super(…) 之前的語句(預(yù)覽)454: 外部函數(shù)和內(nèi)存 API456: 未命名變量和模式457: 類文件 API(預(yù)覽版)458: 啟動多文件源代碼程序459: 字符串模板(第二次預(yù)覽)460: Vector API(第七個(gè)孵化器)461: 流收集器(預(yù)覽)462: 結(jié)構(gòu)化并發(fā)(第二預(yù)覽版)463: 隱式聲明的類和實(shí)例主要方法(第二預(yù)覽版)464: 范圍值(第二次預(yù)覽版)

三、相關(guān)文獻(xiàn)

3.1 Java中JDK8、JDK11、JDK17,該怎么選擇?

Java中JDK8、JDK11、JDK17,該怎么選擇?-騰訊云開發(fā)者社區(qū)-騰訊云

3.2 JDK各版本文檔以及遷移說明

Java Platform, Standard Edition Documentation - Releases

3.3 Oracle Java SE支持路線圖|Oracle 中國

Oracle Java SE Support Roadmap | Oracle 中國

柚子快報(bào)邀請碼778899分享:java JDK版本特性

http://yzkb.51969.com/

好文推薦

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19557154.html

發(fā)布評論

您暫未設(shè)置收款碼

請?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄