国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

升級(jí) JDK17 一個(gè)不可拒絕的理由!

0
分享至

Java精選面試題(微信小程序):5000+道面試題和選擇題,真實(shí)面經(jīng),簡(jiǎn)歷模版,包含Java基礎(chǔ)、并發(fā)、JVM、線程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架構(gòu)設(shè)計(jì)、大廠真題等,在線隨時(shí)刷題!

1. 背景 TLDR

垃圾回收器的暫停問題對(duì)實(shí)時(shí)響應(yīng)要求較高的服務(wù)來說,一直是個(gè)痛點(diǎn), CMS和G1等主流垃圾回收器的數(shù)十毫秒乃至上百毫秒的暫停時(shí)間相當(dāng)致命。此外,調(diào)優(yōu)門檻也相對(duì)較高,需要對(duì)垃圾回收器的內(nèi)部機(jī)制有一定的了解,才能夠進(jìn)行有效的調(diào)優(yōu)。隨著ZGC的出現(xiàn), 使得這一痛點(diǎn)徹底解決, ZGC 最初在 JDK 11 中作為實(shí)驗(yàn)性功能引入,并在 JDK 15 中宣布為生產(chǎn)就緒, 由于JDK17才是比較正式提供給大眾實(shí)用的LTS支持版本,而且一部分公司已經(jīng)在使用,所以本文力推JDK17。

ZGC 作為一款低延遲垃圾收集器,旨在滿足以下目標(biāo):

  • 8MB到16TB的堆大小支持

  • 10ms最大GC暫時(shí)

  • 最糟糕的情況下吞吐量會(huì)降低15%(實(shí)測(cè),如果參數(shù)配置的問題可能更糟, 官方這個(gè)稍微吹牛了點(diǎn), 說實(shí)話就是用CPU換GC時(shí)間,也沒有那么高大上)

1.1. 升級(jí)JDK17的不可拒絕的理由

低延遲的業(yè)務(wù)需求,毫秒級(jí)耗時(shí)的GC

據(jù)美團(tuán)的開發(fā)說:

在Zeus服務(wù)不同集群中,ZGC在低延遲(TP999 < 200ms)場(chǎng)景中收益較大:

  • TP999 :下降12~142ms,下降幅度18%~74%。

  • TP99 :下降5~28ms,下降幅度10%~47%。

可以忽略的升級(jí)JDK17的理由

  • 新版的SpringBoot 官方最低支持 JDK17,想使用新Spring版本,就得升級(jí)

  • JIT 編譯器的增強(qiáng)

  • JDK 17 中的新功能,例如 Sealed 類、Pattern Matching、Records 等

  • 升級(jí)到 JDK 17 可以獲得更好的安全性,包括修復(fù)的漏洞和強(qiáng)化的安全機(jī)制

1.2. 適用場(chǎng)景

  • 網(wǎng)關(guān)服務(wù)

  • Web API

暫不推薦場(chǎng)景:定時(shí)任務(wù)、批量任務(wù)、高CPU密集型應(yīng)用

2. 升級(jí)前后對(duì)比

話不多說,先看效果

環(huán)境:

CPU: 4c Mem: 6GB

G1參數(shù):

    -Xmx3500m -Xms3500m -XX:+UseG1GC -XX:MaxGCPauseMillis=100     -XX:G1ReservePercent=10 -XX:ConcGCThreads=2 -XX:ParallelGCThreads=5     -XX:G1HeapRegionSize=16m -XX:MaxTenuringThreshold=14     -XX:SurvivorRatio=8

ZGC參數(shù):

--add-opens=java.base/java.lang=ALL-UNNAMED -Xms3500m -Xmx3500m -XX:ReservedCodeCacheSize=256m -XX:InitialCodeCacheSize=256m -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -XX:ConcGCThreads=1 -XX:ParallelGCThreads=3 -XX:ZCollectionInterval=60 -XX:ZAllocationSpikeTolerance=4 -XX:+UnlockDiagnosticVMOptions -XX:-ZProactive  -Xlog:safepoint,classhisto*=trace,age*,gc*=info:file=/opt/gc-%t.log:time,tid,tags:filecount=5,filesize=50m

上述兩個(gè)參數(shù),均已經(jīng)在生產(chǎn)環(huán)境實(shí)驗(yàn)過, 生產(chǎn)環(huán)境的機(jī)器是單機(jī)擁有1500業(yè)務(wù)tps的機(jī)器

2.1. GC耗時(shí)對(duì)比

從上圖可見, GC耗時(shí)是有著質(zhì)的區(qū)別的,這個(gè)區(qū)別是你用CMS、Parallel GC、 G1 等嘔心瀝血也調(diào)校不出來的

這么短的GC, 可以保證,應(yīng)用因?yàn)镴VM層面的卡頓都保持在1ms 以內(nèi), 這也是為啥說這點(diǎn)才是不能拒絕的理由

2.2. CPU使用對(duì)比

從CPU使用上看, JDK17 相同的代碼, 比JDK8要高出10 ~ 20%

3. 升級(jí)方法

3.1. JDK選擇或安裝

使用JDK17前必須要安裝JDK17, 對(duì)于不同的Linux發(fā)行版或者操作系統(tǒng)安裝方法各不相同, 下面給出了一些樣例, 僅供參考。

# ubuntu 安裝jdk17 sudo apt install openjdk-17-jdk # docker 基礎(chǔ)鏡像 docker pull openjdk:17-slim docker pull openjdk:17-jdk-oraclelinux7 Dockerfile 復(fù)制代碼FROM openjdk:17-slim

3.2. JVM 參數(shù)調(diào)整

有了JDK17后,你已經(jīng)具備了讓你的Java程序運(yùn)行在JDK17上的基本條件了,下一步便是配置Jvm 參數(shù)如下(有需要的話,可以自行把換行整理下):

    --add-opens=java.base/java.lang=ALL-UNNAMED \     -Xms1500m -Xmx1500m \     -XX:ReservedCodeCacheSize=256m \     -XX:InitialCodeCacheSize=256m \      -XX:+UnlockExperimentalVMOptions \     -XX:+UseZGC \     -XX:ConcGCThreads=1 -XX:ParallelGCThreads=2 \     -XX:ZCollectionInterval=30 -XX:ZAllocationSpikeTolerance=5 \     -XX:+UnlockDiagnosticVMOptions -XX:-ZProactive \     -Xlog:safepoint,classhisto*=trace,age*,gc*=info:file=/opt/gc-%t.log:time,tid,tags:filecount=5,filesize=50m \     -XX:+HeapDumpOnOutOfMemoryError \     -XX:HeapDumpPath=/opt/errorDump.hprof

4. 參數(shù)釋義

參數(shù)名

參數(shù)含義

--add-opens

JDK9模塊化后,導(dǎo)致javabase下面的一些基礎(chǔ)包訪問權(quán)限受阻, 需要開放訪問, 默認(rèn) 設(shè)置java.base/java.lang=ALL-UNNAMED即可

-Xms1500m -Xmx1500m

堆內(nèi)存設(shè)置,非常常見,不解釋

-XX:ReservedCodeCacheSize=256m

JIT編譯的代碼都放在CodeCache中,一般服務(wù)64m或128m就已經(jīng)足夠

-XX:InitialCodeCacheSize=256m

初始code cache大小

-XX:+UnlockExperimentalVMOptions

開啟實(shí)驗(yàn)性質(zhì)的JVM選項(xiàng),打開可以解鎖更多的JVM設(shè)置的能力

-XX:+UseZGC

使用ZGC

-XX:ConcGCThreads=1

并發(fā)回收垃圾的線程。默認(rèn)是總核數(shù)的12.5%,8核CPU默認(rèn)是1。調(diào)大后GC變快,但會(huì)多占用程序運(yùn)行時(shí)的CPU資源

-XX:ParallelGCThreads=2

STW階段使用線程數(shù),默認(rèn)是總核數(shù)的60%

-XX:ZCollectionInterval=30

GC周期之間的最大間隔(單位秒)

-XX:ZAllocationSpikeTolerance=5

增大修正系數(shù)-XX:ZAllocationSpikeTolerance,更早觸發(fā)GC。ZGC采用正態(tài)分布模型預(yù)測(cè)內(nèi)存分配速率,模型修正系數(shù)ZAllocationSpikeTolerance默認(rèn)值為2

-XX:+UnlockDiagnosticVMOptions -XX:-ZProactive

是否啟用主動(dòng)回收,默認(rèn)開啟,這里的配置表示關(guān)閉

-Xlog:safepoint,classhisto*=trace,age*,gc*=info:file=/opt/gc-%t.log:time,tid,tags:filecount=5,filesize=50m

GC日志設(shè)置

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/errorDump.hprof

當(dāng)發(fā)生OOM的時(shí)候HEAP DUMP 及其配置

歡迎大家加入技術(shù)交流群,全面提升自身技術(shù)能力。

來源:https://juejin.cn/post/7173271507047546893

公眾號(hào)“Java精選”所發(fā)表內(nèi)容注明來源的,版權(quán)歸原出處所有(無法查證版權(quán)的或者未注明出處的均來自網(wǎng)絡(luò),系轉(zhuǎn)載,轉(zhuǎn)載的目的在于傳遞更多信息,版權(quán)屬于原作者。如有侵權(quán),請(qǐng)聯(lián)系,筆者會(huì)第一時(shí)間刪除處理!

最近有很多人問,有沒有讀者交流群!加入方式很簡(jiǎn)單,公眾號(hào)Java精選,回復(fù)“加群”,即可入群!

文章有幫助的話,點(diǎn)在看,轉(zhuǎn)發(fā)吧!

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
尤爾曼德:我們?cè)诼?lián)賽階段戰(zhàn)勝了本菲卡、曼城,這表現(xiàn)可接受

尤爾曼德:我們?cè)诼?lián)賽階段戰(zhàn)勝了本菲卡、曼城,這表現(xiàn)可接受

懂球帝
2026-01-29 16:24:06
清華美女教授在三亞突然去世:事發(fā)全過程披露,學(xué)生披露大量隱情

清華美女教授在三亞突然去世:事發(fā)全過程披露,學(xué)生披露大量隱情

博士觀察
2026-01-28 20:46:56
商業(yè)航天概念震蕩拉升 航天科技直線漲停

商業(yè)航天概念震蕩拉升 航天科技直線漲停

每日經(jīng)濟(jì)新聞
2026-01-29 11:06:08
被曝“丑聞”才2小時(shí),交警回應(yīng)金晨肇事逃逸,惡心的一幕出現(xiàn)了

被曝“丑聞”才2小時(shí),交警回應(yīng)金晨肇事逃逸,惡心的一幕出現(xiàn)了

靜若梨花
2026-01-29 16:25:55
“流氓有文化更可怕”,退休老干部頻繁聯(lián)系女幼師,聊天記錄曝光

“流氓有文化更可怕”,退休老干部頻繁聯(lián)系女幼師,聊天記錄曝光

妍妍教育日記
2026-01-27 19:58:28
隨著吉達(dá)國(guó)民4-0,費(fèi)哈3-1,沙特聯(lián)積分榜出爐:C羅率隊(duì)跌至第3

隨著吉達(dá)國(guó)民4-0,費(fèi)哈3-1,沙特聯(lián)積分榜出爐:C羅率隊(duì)跌至第3

凌空倒鉤
2026-01-29 07:56:44
15年前,徐帆砸了沈星的豪宅。 15年后沈星還住在4500萬房子里。

15年前,徐帆砸了沈星的豪宅。 15年后沈星還住在4500萬房子里。

歲月有情1314
2026-01-29 13:47:16
把水賣給酒鬼?河南一藥企“不務(wù)正業(yè)”,一年掙了40億

把水賣給酒鬼?河南一藥企“不務(wù)正業(yè)”,一年掙了40億

毒sir財(cái)經(jīng)
2026-01-28 15:27:05
退位后的李淵日子有多難過?李世民:您的宮女太多,不如回家嫁人

退位后的李淵日子有多難過?李世民:您的宮女太多,不如回家嫁人

掠影后有感
2026-01-29 10:44:30
這次軍委的動(dòng)作,真是讓人倒吸一口涼氣!

這次軍委的動(dòng)作,真是讓人倒吸一口涼氣!

百態(tài)人間
2026-01-27 15:31:38
他是五代十國(guó)最好皇帝,計(jì)劃30年開創(chuàng)太平年,可老天只給他5年半

他是五代十國(guó)最好皇帝,計(jì)劃30年開創(chuàng)太平年,可老天只給他5年半

長(zhǎng)風(fēng)文史
2026-01-29 14:46:17
還八百就八百,你可知八百精兵意味著什么?

還八百就八百,你可知八百精兵意味著什么?

小豫講故事
2026-01-28 06:00:07
開年大瓜!國(guó)產(chǎn)女優(yōu)上岸成功嫁為人妻,拍短視頻后遭惡語相向

開年大瓜!國(guó)產(chǎn)女優(yōu)上岸成功嫁為人妻,拍短視頻后遭惡語相向

社會(huì)醬
2026-01-16 16:54:49
特朗普:她不會(huì)辭職;我可能面臨被彈劾

特朗普:她不會(huì)辭職;我可能面臨被彈劾

揚(yáng)子晚報(bào)
2026-01-28 07:23:00
凍干草莓檢出鎘超標(biāo)、國(guó)家禁用農(nóng)藥克百威殘留?采購(gòu)企業(yè)投訴,市監(jiān)認(rèn)為沒標(biāo)準(zhǔn)不立案

凍干草莓檢出鎘超標(biāo)、國(guó)家禁用農(nóng)藥克百威殘留?采購(gòu)企業(yè)投訴,市監(jiān)認(rèn)為沒標(biāo)準(zhǔn)不立案

大風(fēng)新聞
2026-01-28 19:04:04
自己在家養(yǎng)發(fā)半年:頭發(fā)越來越多,白的越來越少,我做對(duì)了3件事

自己在家養(yǎng)發(fā)半年:頭發(fā)越來越多,白的越來越少,我做對(duì)了3件事

君笙的拂兮
2026-01-28 16:47:18
俄邀澤連斯基赴莫斯科和普京會(huì)面!總統(tǒng)助理:來吧,保證你的安全

俄邀澤連斯基赴莫斯科和普京會(huì)面!總統(tǒng)助理:來吧,保證你的安全

娛樂督察中
2026-01-29 16:00:30
價(jià)格大跳水!主力車型直降超15萬,中年男人的夢(mèng)中豪車撐不住了?

價(jià)格大跳水!主力車型直降超15萬,中年男人的夢(mèng)中豪車撐不住了?

財(cái)經(jīng)八卦
2026-01-28 20:05:03
國(guó)鐵集團(tuán):12306客戶端沒與任何第三方平臺(tái)合作,不便上網(wǎng)的老年人可電話購(gòu)票

國(guó)鐵集團(tuán):12306客戶端沒與任何第三方平臺(tái)合作,不便上網(wǎng)的老年人可電話購(gòu)票

紅星新聞
2026-01-29 11:19:02
腸癌手術(shù)一做,人生倒計(jì)時(shí)就開始了?醫(yī)生實(shí)話實(shí)說:這5點(diǎn)要注意

腸癌手術(shù)一做,人生倒計(jì)時(shí)就開始了?醫(yī)生實(shí)話實(shí)說:這5點(diǎn)要注意

荷蘭豆愛健康
2026-01-29 13:04:32
2026-01-29 17:16:49
Java精選
Java精選
一場(chǎng)永遠(yuǎn)也演不完的戲
1768文章數(shù) 3859關(guān)注度
往期回顧 全部

科技要聞

周亞輝的AI新賭局:國(guó)內(nèi)太卷 出海另起爐灶

頭條要聞

女大學(xué)生到東北游玩暈倒雪地凍傷 三根手指或面臨截肢

頭條要聞

女大學(xué)生到東北游玩暈倒雪地凍傷 三根手指或面臨截肢

體育要聞

詹姆斯哭了!騎士視頻致敬41歲超巨

娛樂要聞

張譯不再隱瞞!公開回應(yīng)退圈息影真相

財(cái)經(jīng)要聞

崔東樹:中國(guó)汽車未來年銷或達(dá)5000萬輛

汽車要聞

車長(zhǎng)超5米還帶后輪轉(zhuǎn)向 比亞迪海豹08/海獅08將亮相

態(tài)度原創(chuàng)

手機(jī)
本地
游戲
親子
軍事航空

手機(jī)要聞

游戲直播神器!iQOO 15 Ultra支持一鍵投屏 開播0門檻

本地新聞

云游中國(guó)|撥開云霧,巫山每幀都是航拍大片

PS+港區(qū)2月會(huì)免來了! 包含《冰點(diǎn)之下》等

親子要聞

一個(gè)現(xiàn)象:縣城里的孕婦越來越少了

軍事要聞

中國(guó)代表:支持伊朗國(guó)家穩(wěn)定 武力解決不了問題

無障礙瀏覽 進(jìn)入關(guān)懷版