日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

新項(xiàng)目為什么建議你使用 JDK17,一文告訴你升級(jí)的方法和不可拒絕的理由!

來(lái)源: 責(zé)編: 時(shí)間:2024-05-29 17:30:43 170觀看
導(dǎo)讀1、背景 TLDR;垃圾回收器的暫停問(wèn)題對(duì)實(shí)時(shí)響應(yīng)要求較高的服務(wù)來(lái)說(shuō),一直是個(gè)痛點(diǎn), CMS和G1等主流垃圾回收器的數(shù)十毫秒乃至上百毫秒的暫停時(shí)間相當(dāng)致命。此外,調(diào)優(yōu)門檻也相對(duì)較高,需要對(duì)垃圾回收器的內(nèi)部機(jī)制有一定的了解,

1、背景 TLDR;

OZt28資訊網(wǎng)——每日最新資訊28at.com

垃圾回收器的暫停問(wèn)題對(duì)實(shí)時(shí)響應(yīng)要求較高的服務(wù)來(lái)說(shuō),一直是個(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。OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

ZGC 作為一款低延遲垃圾收集器,旨在滿足以下目標(biāo):OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

  • 8MB 到 16TB 的堆大小支持
  • 10ms 最大 GC 暫時(shí)
  • 最糟糕的情況下吞吐量會(huì)降低 15%(實(shí)測(cè),如果參數(shù)配置的問(wèn)題可能更糟, 官方這個(gè)稍微吹牛了點(diǎn), 說(shuō)實(shí)話就是用 CPU 換 GC 時(shí)間,也沒(méi)有那么高大上)

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

OZt28資訊網(wǎng)——每日最新資訊28at.com

低延遲的業(yè)務(wù)需求,毫秒級(jí)耗時(shí)的 GCOZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

據(jù)美團(tuán)的開(kāi)發(fā)說(shuō):OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

在 Zeus 服務(wù)不同集群中,ZGC 在低延遲(TP999 < 200ms)場(chǎng)景中收益較大:OZt28資訊網(wǎng)——每日最新資訊28at.com

  • TP999:下降 12~142ms,下降幅度 18%~74%。
  • TP99:下降 5~28ms,下降幅度 10%~47%。

OZt28資訊網(wǎng)——每日最新資訊28at.com

可以忽略的升級(jí) JDK17 的理由:OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

  • 新版的 Spring Boot 官方最低支持 JDK17,想使用新Spring版本,就得升級(jí);
  • JIT 編譯器的增強(qiáng);
  • JDK 17 中的新功能,例如 Sealed 類、Pattern Matching、Records 等;
  • 升級(jí)到 JDK 17 可以獲得更好的安全性,包括修復(fù)的漏洞和強(qiáng)化的安全機(jī)制。

1.2 適用場(chǎng)景

OZt28資訊網(wǎng)——每日最新資訊28at.com

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

OZt28資訊網(wǎng)——每日最新資訊28at.com

暫不推薦場(chǎng)景:定時(shí)任務(wù)、批量任務(wù)、高 CPU 密集型應(yīng)用。OZt28資訊網(wǎng)——每日最新資訊28at.com

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

OZt28資訊網(wǎng)——每日最新資訊28at.com

話不多說(shuō),先看效果。OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

環(huán)境:OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

CPU:4cMem: 6GB

OZt28資訊網(wǎng)——每日最新資訊28at.com

G1 參數(shù):OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

-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

OZt28資訊網(wǎng)——每日最新資訊28at.com

ZGC 參數(shù):OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

--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

OZt28資訊網(wǎng)——每日最新資訊28at.com

上述兩個(gè)參數(shù),均已經(jīng)在生產(chǎn)環(huán)境實(shí)驗(yàn)過(guò), 生產(chǎn)環(huán)境的機(jī)器是單機(jī)擁有 1500 業(yè)務(wù)  tps 的機(jī)器。OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

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

OZt28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

從上圖可見(jiàn), GC 耗時(shí)是有著質(zhì)的區(qū)別的,這個(gè)區(qū)別是你用 CMS、Parallel GC、 G1 等嘔心瀝血也調(diào)校不出來(lái)的。OZt28資訊網(wǎng)——每日最新資訊28at.com

這么短的GC, 可以保證,應(yīng)用因?yàn)镴VM層面的卡頓都保持在 1ms 以內(nèi), 這也是為啥說(shuō)這點(diǎn)才是不能拒絕的理由。OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

2.2 CPU 使用對(duì)比

OZt28資訊網(wǎng)——每日最新資訊28at.com

圖片OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

從 CPU 使用上看, JDK17 相同的代碼, 比 JDK8 要高出 10 ~ 20%OZt28資訊網(wǎng)——每日最新資訊28at.com

3、升級(jí)方法

OZt28資訊網(wǎng)——每日最新資訊28at.com

3.1 JDK 選擇或安裝

OZt28資訊網(wǎng)——每日最新資訊28at.com

使用 JDK17 前必須要安裝 JDK17, 對(duì)于不同的 Linux 發(fā)行版或者操作系統(tǒng)安裝方法各不相同, 下面給出了一些樣例, 僅供參考。OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

# ubuntu 安裝jdk17sudo apt install openjdk-17-jdk# docker 基礎(chǔ)鏡像docker pull openjdk:17-slimdocker pull openjdk:17-jdk-oraclelinux7FROM openjdk:17-slim

OZt28資訊網(wǎng)——每日最新資訊28at.com

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

OZt28資訊網(wǎng)——每日最新資訊28at.com

有了 JDK17 后,已經(jīng)具備了讓你的 Java 程序運(yùn)行在 JDK17 上的基本條件了,下一步便是配置 JVM 參數(shù)如下(有需要的話,可以自行把換行整理下):OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

--add-opens=java.base/java.lang=ALL-UNNAMED /-Xms1500m -Xmx1500m /-XX:ReservedCodeCacheSize=256m /-XX:InitialCodeCacheSize=256m / -XX:+UnlockExperimentalVMOptions /-XX:+UseZGC /-XX:Cnotallow=1 -XX:ParallelGCThreads=2 /-XX:ZCollectinotallow=30 -XX:ZAllocatinotallow=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

OZt28資訊網(wǎng)——每日最新資訊28at.com

參數(shù)釋義

圖片圖片OZt28資訊網(wǎng)——每日最新資訊28at.com

OZt28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-91523-0.html新項(xiàng)目為什么建議你使用 JDK17,一文告訴你升級(jí)的方法和不可拒絕的理由!

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 有人問(wèn)我架構(gòu)圖、流程圖為什么這么好看?

下一篇: 服務(wù)失敗后如何重試?你學(xué)會(huì)了嗎?

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 直屏旗艦來(lái)了 iQOO 12和K70 Pro同臺(tái)競(jìng)技

    旗艦機(jī)基本上使用的都是雙曲面屏幕,這就讓很多喜歡直屏的愛(ài)好者在苦等一款直屏旗艦,這次,你們等到了。據(jù)博主數(shù)碼閑聊站帶來(lái)的最新爆料稱,Redmi下代旗艦K70 Pro和iQOO 12兩款手
  • 《英雄聯(lián)盟》夏季賽總決賽今日開(kāi)打!JDG對(duì)陣LNG首發(fā)名單來(lái)了 Knight:準(zhǔn)備三連冠

    8月5日消息,今日17:00,《英雄聯(lián)盟》2023LPL夏季賽總決賽將正式開(kāi)打,由JDG對(duì)陣LNG。對(duì)兩支隊(duì)伍來(lái)說(shuō),這場(chǎng)比賽不僅要爭(zhēng)奪夏季賽冠軍,更要決定誰(shuí)才是LPL賽區(qū)一
  • K8S | Service服務(wù)發(fā)現(xiàn)

    一、背景在微服務(wù)架構(gòu)中,這里以開(kāi)發(fā)環(huán)境「Dev」為基礎(chǔ)來(lái)描述,在K8S集群中通常會(huì)開(kāi)放:路由網(wǎng)關(guān)、注冊(cè)中心、配置中心等相關(guān)服務(wù),可以被集群外部訪問(wèn);圖片對(duì)于測(cè)試「Tes」環(huán)境或者
  • 從 Pulsar Client 的原理到它的監(jiān)控面板

    背景前段時(shí)間業(yè)務(wù)團(tuán)隊(duì)偶爾會(huì)碰到一些 Pulsar 使用的問(wèn)題,比如消息阻塞不消費(fèi)了、生產(chǎn)者消息發(fā)送緩慢等各種問(wèn)題。雖然我們有個(gè)監(jiān)控頁(yè)面可以根據(jù) topic 維度查看他的發(fā)送狀態(tài),
  • 如何通過(guò)Python線程池實(shí)現(xiàn)異步編程?

    線程池的概念和基本原理線程池是一種并發(fā)處理機(jī)制,它可以在程序啟動(dòng)時(shí)創(chuàng)建一組線程,并將它們置于等待任務(wù)的狀態(tài)。當(dāng)任務(wù)到達(dá)時(shí),線程池中的某個(gè)線程會(huì)被喚醒并執(zhí)行任務(wù),執(zhí)行完任
  • 雅柏威士忌多款單品價(jià)格大跌,泥煤頂流也不香了?

    來(lái)源 | 烈酒商業(yè)觀察編 | 肖海林今年以來(lái),威士忌市場(chǎng)開(kāi)始出現(xiàn)了降溫跡象,越來(lái)越多不斷暴漲的網(wǎng)紅威士忌也開(kāi)始悄然回歸市場(chǎng)理性。近日,LVMH集團(tuán)旗下蘇格蘭威士忌品牌雅柏(Ardbeg
  • Temu起訴SHEIN,跨境電商戰(zhàn)事升級(jí)

    來(lái)源 | 伯虎財(cái)經(jīng)(bohuFN)作者 | 陳平安日前據(jù)外媒報(bào)道,拼多多旗下跨境電商平臺(tái)Temu正對(duì)競(jìng)爭(zhēng)對(duì)手SHEIN提起新訴訟,訴狀稱Shein&ldquo;利用市場(chǎng)支配力量強(qiáng)迫服裝廠商與之簽訂獨(dú)家
  • 本地生活這塊肥肉,拼多多也想吃一口

    出品/壹覽商業(yè) 作者/李彥編輯/木魚(yú)拼多多也看上本地生活這塊蛋糕了。近期,拼多多在App首頁(yè)&ldquo;充值中心&rdquo;入口上線了本機(jī)生活界面。壹覽商業(yè)發(fā)現(xiàn),該界面目前主要
  • 消費(fèi)結(jié)構(gòu)調(diào)整丨巨頭低價(jià)博弈,拼多多還卷得動(dòng)嗎?

    來(lái)源:征探財(cái)經(jīng)作者:陳香羽隨著流量紅利的退潮,電商的存量博弈越來(lái)越明顯。曾經(jīng)主攻中高端與品質(zhì)的淘寶天貓、京東重拾&ldquo;低價(jià)&rdquo;口號(hào)。而過(guò)去與他們錯(cuò)位競(jìng)爭(zhēng)的拼多多,靠
Top 主站蜘蛛池模板: 平潭县| 庐江县| 滦平县| 湾仔区| 栖霞市| 太保市| 漯河市| 长沙县| 临城县| 河北区| 淳化县| 丹巴县| 股票| 庆元县| 遵化市| 黄山市| 青川县| 明光市| 长兴县| 雷州市| 厦门市| 延寿县| 固始县| 乐亭县| 新竹县| 神木县| 洪雅县| 神池县| 卓资县| 博客| 固始县| 瑞安市| 伊宁市| 诸暨市| 大丰市| 磐石市| 和龙市| 新化县| 弥勒县| 深水埗区| 沐川县|