新聞中心
大家有沒(méi)有發(fā)現(xiàn),現(xiàn)在越來(lái)越多的軟件安裝時(shí)最低要求都是 Java 11。比如 Flink。

Flink
SonarQube最新版甚至最低要求 Java 17。
SonarQube
那么真正放棄 Java 8 的原因是什么呢?
1. Java 新特性(如Java 11)
1.1局部變量類(lèi)型推斷(Local Variable Type Inference)
引入了 var 關(guān)鍵字,使得在局部變量聲明時(shí)可以使用類(lèi)型推斷。例如,var name = "John"; 將會(huì)被推斷為 String 類(lèi)型。
1.2 針對(duì)字符串的新增方法
Java 11 引入了一些針對(duì)字符串處理的新方法,如 isBlank()、lines() 和 stripIndent() 等,用于更方便地操作字符串。
1.3 HTTP/2 客戶端 API
在 Java 11 中,提供了一個(gè)原生的 HTTP/2 客戶端 API,用于進(jìn)行 HTTP 請(qǐng)求和響應(yīng)的處理,以替代傳統(tǒng)的 HttpURLConnection。
1.4 響應(yīng)式流(Reactive Streams)API
Java 9 引入的 Flow API 在 Java 11 進(jìn)一步發(fā)展,并成為標(biāo)準(zhǔn)化的響應(yīng)式流 API。它支持異步流式處理和背壓機(jī)制。
1.5 ZGC 改進(jìn)
ZGC 是一種低暫停時(shí)間的垃圾回收器,在 Java 11 中進(jìn)行了一些改進(jìn),進(jìn)一步降低了垃圾回收的停頓時(shí)間,并提高了應(yīng)用程序的吞吐量。
1.6 Epsilon 垃圾回收器
Epsilon 是一種無(wú)操作的垃圾回收器,用于測(cè)試和性能調(diào)優(yōu)。它允許你在沒(méi)有任何垃圾回收的情況下運(yùn)行 Java 應(yīng)用程序,適用于一些特定的場(chǎng)景。
1.7 集合 API 改進(jìn)
Java 11 對(duì)集合 API 進(jìn)行了一些改進(jìn),包括新的方法和接口,如 List.of()、Set.of() 和 Map.of() 等用于創(chuàng)建不可變集合的靜態(tài)工廠方法。
1.8 新的垃圾回收器接口
Java 11 引入了一組垃圾回收器接口,允許開(kāi)發(fā)者可以更方便地實(shí)現(xiàn)自定義的垃圾回收器和內(nèi)存分配器。
2. 長(zhǎng)期支持(LTS)版本
Java 8 和 11 都是長(zhǎng)期支持版本,支持的時(shí)間 Java 11 更長(zhǎng)(官網(wǎng)數(shù)據(jù))。
3.生態(tài)系統(tǒng)支持
隨著時(shí)間的推移,越來(lái)越多的開(kāi)源庫(kù)和框架開(kāi)始逐步升級(jí)到 Java 11,并且停止或降低對(duì) Java 8 的支持。選擇最低支持 Java 11 可以確保你能夠使用最新的第三方庫(kù)和框架,充分利用其功能和優(yōu)化。
4.安全性和性能優(yōu)化
Java 11 引入了一些安全性和性能方面的改進(jìn),包括 TLS 1.3 支持、改進(jìn)的 HTTP 處理、本地內(nèi)存訪問(wèn) API 等。使用較新的 Java 版本可以提供更好的安全性和性能。
分享文章:很多主流項(xiàng)目都放棄了Java8,背后的原因是什么
本文路徑:http://www.dlmjj.cn/article/dpididc.html


咨詢
建站咨詢
