討論分析JDK17是否會(huì)代替JDK8
正文
俗話說(shuō):“它發(fā)認(rèn)它發(fā),我用Java8”。
但是隨著Spring 6.0以及SpringBoot 3.0的發(fā)布,JDK17似乎大有取代JDK8的趨勢(shì)了。
Spring Boot 3.0 requires Java 17 as a minimum version. If you are currently using Java 8 or Java 11, you'll need to upgrade your JDK before you can develop Spring Boot 3.0 applications.
Spring 6.0&SpringBoot 3.0對(duì)AOT的支持,能極大提高應(yīng)用的啟動(dòng)速度,從而可以彌補(bǔ)Java在云原生、Serverless等領(lǐng)域的缺陷,據(jù)我所知,某著名大廠內(nèi)部已經(jīng)在進(jìn)行升級(jí)了。
另外,JDK17是一個(gè)LTS(長(zhǎng)期支持版),可以免費(fèi)商用到2029年,JDK17本身在性能上也有優(yōu)化,比如對(duì)于NIO的性能優(yōu)化,至少提升了10%。
隨著各大框架對(duì)JDK17的支持,JDK17取代JDK8只是時(shí)間問(wèn)題。
這里我大致列以下JDK9-JDK17中幾個(gè)關(guān)鍵的新特性:
- sealed 密封類(lèi)
- 文本塊
- record 紀(jì)錄類(lèi)
- G1成為默認(rèn)垃圾收集器
- ZGC的完善與升級(jí)
- JDK模塊化
- JFR飛行器
- 新swich表達(dá)式
- 虛擬線程
- ...
比如SpringBoot3.0的源碼中就用到了新特性:


雖然JDK17跟JDK8相比較確實(shí)增加了很多新特性,不管是語(yǔ)法上、性能上,都在積極的吸取其他語(yǔ)言的特點(diǎn),并且整個(gè)Java生態(tài)也在不斷的升級(jí)為JDK17,但是對(duì)于公司而言,除非是新項(xiàng)目、新應(yīng)用,不然是不太可能把現(xiàn)有項(xiàng)目升級(jí)到JDK17的。
你們項(xiàng)目中,現(xiàn)在用的是JDK哪個(gè)版本呢?
以上就是問(wèn)題分析JDK17是否會(huì)代替JDK8的詳細(xì)內(nèi)容,更多關(guān)于JDK17 JDK8的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
javaweb實(shí)現(xiàn)注冊(cè)登錄頁(yè)面
這篇文章主要為大家詳細(xì)介紹了javaweb實(shí)現(xiàn)注冊(cè)登錄頁(yè)面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
詳解SpringBoot配置文件啟動(dòng)時(shí)動(dòng)態(tài)配置參數(shù)方法
這篇文章主要介紹了詳解SpringBoot配置文件啟動(dòng)時(shí)動(dòng)態(tài)配置參數(shù)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

