日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java joptionpane调整大小_JAVA应用性能监控之JVM层GC调优

發(fā)布時(shí)間:2025/4/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java joptionpane调整大小_JAVA应用性能监控之JVM层GC调优 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. JVM內(nèi)存結(jié)構(gòu)

1.1 運(yùn)行時(shí)數(shù)據(jù)區(qū)

程序計(jì)數(shù)器PC Register:JVM支持多線程同時(shí)執(zhí)行,每一個(gè)線程都有自己的PC Register,線程正在執(zhí)行的方法叫做當(dāng)前方法,如果是java代碼,PC Register里面存放的就是房錢(qián)正在執(zhí)行的指令的地址,如果你是C代碼,則為空。

  • Java虛擬機(jī)棧(Java Virtual Machine Stacks)是線程私有的,它的生命周期與線程相同。虛擬機(jī)棧描述的是Java方法執(zhí)行的內(nèi)存模型:每個(gè)方法在執(zhí)行的同時(shí)都會(huì)創(chuàng)建一個(gè)棧幀,用于存儲(chǔ)局部變量表、操作數(shù)棧、動(dòng)態(tài)鏈接、方法出口燈信息。每一個(gè)方法從調(diào)用直至執(zhí)行完成的過(guò)程,就對(duì)應(yīng)著一個(gè)棧幀在虛擬機(jī)棧中入棧到出棧的過(guò)程。
  • Java堆(Java Heap)是Java虛擬機(jī)所管理的內(nèi)存中最大的一塊。堆是被所有線程共享的一塊內(nèi)存區(qū)域,在虛擬機(jī)啟動(dòng)時(shí)創(chuàng)建。此內(nèi)存區(qū)域的唯一目的就是存放對(duì)象實(shí)例,幾乎所有的對(duì)象實(shí)例都在這里分配內(nèi)存。Java堆可以處于物理上不連續(xù)的內(nèi)存空間中,只要邏輯上是連續(xù)的即可。
  • 方法區(qū)(Method Area):方法區(qū)域java堆一樣,是各個(gè)線程共享的內(nèi)存區(qū)域,它用于存儲(chǔ)已被虛擬機(jī)加載的類(lèi)信息、常亮、靜態(tài)變量、即時(shí)編譯器編譯后的代碼等數(shù)據(jù)。雖然Java虛擬機(jī)規(guī)范把方法區(qū)描述為堆的一個(gè)邏輯部分,但是它卻有一個(gè)別名叫做Non-Heap(非堆),目的是與Java堆區(qū)分開(kāi)來(lái)。
  • 運(yùn)行時(shí)常量池(Runtime Constant Pool)是方法區(qū)的一部分。Class文件中除了有類(lèi)的版本、字段、方法、接口等描述信息外,還有一項(xiàng)信息是常量池(Constant Pool Table),用于存放編譯器生成的各種字面量和符號(hào)引用,這部分內(nèi)容將在類(lèi)加載后進(jìn)入方法區(qū)的常量池中存放。
  • 本地方法棧(Native Method Stacks)與虛擬機(jī)棧所放回的作用是非常相似的,它們之間的區(qū)別不過(guò)是虛擬機(jī)棧為虛擬機(jī)執(zhí)行的Java方法(也就是字節(jié)碼)服務(wù),而本地方法棧則為虛擬機(jī)使用到的Native方法服務(wù)。

1.2 JVM的內(nèi)存結(jié)構(gòu)

實(shí)例:

啟用壓縮類(lèi)空間:

jstat -gc 13144

禁用壓縮類(lèi)空間:

jstat -gc 13523

codecache也是一樣操作。

-xint

常用參數(shù):

  • -Xms-Xmx
  • -XX:NewSize -XX:MaxNewSize
  • -XX:NewRatio -XX:SurvivorRatio
  • -XX:MetaspaceSize -XX:MaxMetaspaceSize
  • -XX:+UseCompressedClassPointers
  • -XX:CompressedClassSpaceSize
  • -XX:InitialCodeCacheSize
  • -XX:ReservedCodeCacheSize

2. 垃圾回收算法

2.1 如何確定垃圾

2.2 各類(lèi)算法

對(duì)象分配:

  • 對(duì)象優(yōu)先分配在Eden區(qū)。
  • 大對(duì)象直接進(jìn)入老年代:-XX:PretenureSizeThreshold,該參數(shù)規(guī)定多大的對(duì)象會(huì)直接分配在老年代。
  • 長(zhǎng)期存活對(duì)象進(jìn)入老年代:
    -XX:MaxTenuringThreshold 晉升閾值
    -XX:+PrintTenuringDistribution 發(fā)生Young GC時(shí)候,打印存活對(duì)象的年齡的分布情況
    -XX:TargetSurivorRatio 設(shè)置Surivor區(qū),Young區(qū)垃圾回收后存活對(duì)象的比例,假設(shè)該值設(shè)置為80%,意味著發(fā)生一次Young GC,Surivor區(qū)存活對(duì)象為80%,這時(shí)候需要計(jì)算這些80%存活對(duì)象的平均年齡,用平均年齡和晉升閾值之間取一個(gè)最小值,如果有對(duì)象年齡大于該最小值,也會(huì)將該對(duì)象晉升到老年代。

3. 垃圾收集器

3.1 三種類(lèi)型垃圾收集器

  • 串行收集器Serial:Serial、Serial Old。單線程,適用于內(nèi)存小的嵌入式設(shè)備。
  • 并行收集器Parallel:Paralel Scavenge、Parallel Old,吞吐量?jī)?yōu)先。
  • 并發(fā)收集器Concurrent:CMS、G1,停頓時(shí)間優(yōu)先。

3.2 并行VS并發(fā)

  • 并行是指多條垃圾收緊線程并行工作,但此時(shí)用戶(hù)線程仍然處于等待狀態(tài)。適合科學(xué)計(jì)算、后臺(tái)處理等弱交互場(chǎng)景。
  • 并發(fā)指用戶(hù)線程與垃圾收集線程同時(shí)執(zhí)行(但不一定是并行的,可能會(huì)交替執(zhí)行),垃圾收集線程在執(zhí)行的時(shí)候不會(huì)停頓用戶(hù)程序的運(yùn)行。適合對(duì)響應(yīng)時(shí)間有要求的場(chǎng)景,比如Web。

3.3 停頓時(shí)間VS吞吐量

  • 停頓時(shí)間:垃圾收集器做垃圾回收中斷應(yīng)用執(zhí)行的時(shí)間,-XX:MaxGCPauseMillis
  • 吞吐量:花在垃圾收集的時(shí)間和花在應(yīng)用時(shí)間的占比。-XXGCTimeRatio=<n>,來(lái)及收集時(shí)間占:1/1+n。

3.4 如何評(píng)價(jià)一個(gè)垃圾回收器的好壞

3.5 三種類(lèi)型垃圾收集器開(kāi)啟與停用

串行收集器:

并行收集器:

并發(fā)收集器:

3.6 垃圾收集器搭配

  • 有連線的是可以相互搭配使用。
  • JDK8推薦使用G1,性能比較好,在Yong區(qū)和Old區(qū)都可以使用。
  • 虛線表示CMS可能退化成SerialOld,空間擔(dān)保分配失敗。

如何選擇垃圾收集器?

優(yōu)先調(diào)整堆的大小,讓JVM自己來(lái)選擇;

  • 如果內(nèi)存小于100M,使用串行收集器;
  • 如果是單核,并沒(méi)有停頓時(shí)間的要求,串行或JVM自己選;
  • 如果允許停頓時(shí)間超過(guò)1秒,選擇并行或JVM自己選;
  • 如果響應(yīng)時(shí)間非常重要,并且不能超過(guò)1秒,使用并發(fā)收集器;

3.7 兩種常用垃圾收集器

3.7.1 Parallel Collector

工作原理:當(dāng)發(fā)現(xiàn)內(nèi)存不夠時(shí),暫停應(yīng)用程序,啟動(dòng)多個(gè)垃圾回收線程來(lái)回收垃圾,垃圾回收結(jié)束后,重新啟動(dòng)應(yīng)用程序。

-XX:+UseParallelGC 手動(dòng)開(kāi)啟,server模式默認(rèn)開(kāi)啟;

-XX:ParallelGCThreads=<n> 開(kāi)啟多少個(gè)GC線程;

并行收集器的自適應(yīng)特性(Parallel Collector Ergonomics),會(huì)自動(dòng)調(diào)整堆得大小,來(lái)自適應(yīng)調(diào)整滿足我們?cè)O(shè)定的指標(biāo):

  • -XX:MaxGCPauseMills=<n> 最大停頓時(shí)間;
  • -XX:GCTimeRatio=<n> 吞吐量;
  • -Xmx<n> 堆的大小;
    優(yōu)先滿足停頓時(shí)間要求,然后滿足吞吐量要求,如果兩個(gè)都滿足的話,它會(huì)減小堆得大小,來(lái)滿足停頓時(shí)間的要求,直到這三個(gè)條件中有一個(gè)是滿足不了的。自適應(yīng)其實(shí)不是最優(yōu)的,因?yàn)樗枰獎(jiǎng)討B(tài)調(diào)整堆得大小來(lái)滿足這些條件。
    動(dòng)態(tài)內(nèi)存調(diào)整
    并行收集器在自適應(yīng)的時(shí)候會(huì)動(dòng)態(tài)調(diào)整內(nèi)存;
  • -XX:YongGenerationSizeIncrement=<Y> Yong區(qū)動(dòng)態(tài)調(diào)整每次增加的大小,默認(rèn)20%;
  • -XX:TenuredGenerationSizeIncrement=<T> Old區(qū)動(dòng)態(tài)調(diào)整每次增加的大小,默認(rèn)20%;
  • -XX:AdaptiveSizeDecrementScaleFactor=<D> 動(dòng)態(tài)減小時(shí)每次減小的大小,默認(rèn)4%;
    在生產(chǎn)環(huán)境下很少使用自適應(yīng)功能,主要通過(guò)手動(dòng)調(diào)整。

3.7.2 CMS Collector

(1)CMS垃圾收集過(guò)程

由于篇幅限制原因,更多關(guān)于jvm知識(shí)點(diǎn)的學(xué)習(xí)思維導(dǎo)圖以及上面垃圾收集的高清大圖可以私信筆者“jvm”領(lǐng)取

總結(jié)

以上是生活随笔為你收集整理的java joptionpane调整大小_JAVA应用性能监控之JVM层GC调优的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色片在线 | av集中营 | 都市激情亚洲一区 | 人妻巨大乳一二三区 | 亚洲精品一区二区在线 | 97久久精品| 最新地址av | 青青青在线视频免费观看 | 久久瑟瑟 | 亚洲精品av中文字幕在线在线 | 欧美一区二区福利 | 欧美精品在线免费观看 | 国产中文久久 | 鲁啊鲁在线视频 | 朝桐光一区二区三区 | 久久精品色 | av一区二区三区在线观看 | 国产在线视频网站 | 亚洲视频自拍 | 日韩欧美在线观看 | 欧美三级午夜理伦 | 日本高潮网站 | 亚洲欧美中文字幕5发布 | 亚洲网在线观看 | 一本久道久久综合 | 黄色片免费的 | 日韩城人免费 | 成人看的毛片 | 欧美黑人猛交 | 德国性猛交xxxxhd | 91福利小视频 | 精品国产黄色 | 少妇做爰免费视频播放 | 尤物在线视频观看 | 污污的网站在线免费观看 | 五月天堂婷婷 | 欧美成人三级 | 亚洲女同一区 | 国产永久毛片 | 奇米四色影视 | 欧美日韩视频在线观看免费 | 涩涩视频免费观看 | 一二三毛片 | 久久午夜鲁丝片午夜精品 | 亚洲精品国产精品乱码不卡√香蕉 | 女生下面流水视频 | 男人午夜免费视频 | 国产人妖网站 | 强行挺进白丝老师里呻吟 | 久久无码人妻精品一区二区三区 | 深夜福利免费视频 | 亚洲一区二区三区在线观看视频 | 自拍偷拍色综合 | 我要爱爱网 | 精品日韩在线视频 | 日韩午夜在线播放 | caoporn国产| 国产一区二区视频在线 | 亚洲av成人无码网天堂 | 国产丝袜网站 | 成人小视频免费在线观看 | 天堂网8| 成年性生交大片免费看 | 香港三级日本三级三69 | 日本一区视频在线观看 | 国产精品乱码妇女bbbb | 黄色性网站 | 亚洲天堂无吗 | 精品国产一区二区三区久久久蜜月 | 中文字幕乱码中文乱码777 | 亚洲精品美女视频 | 日本视频二区 | 嫩草在线播放 | 日本视频中文字幕 | www一区二区三区 | 狠狠操免费视频 | 久久大陆 | 女仆裸体打屁屁羞羞免费 | 欧美一线高本道 | 国产小视频在线免费观看 | 日本成人在线一区 | 蜜臀av性久久久久蜜臀av麻豆 | 久草中文在线视频 | www.青青操 | a级黄色小说 | 99国产精品99久久久久久粉嫩 | 久久久亚洲av波多野结衣 | eeuss国产一区二区三区黑人 | 日韩久久一区二区三区 | 光溜溜视频素材大全美女 | 重口味av | 永久视频 | 亚洲精品久久久久久无码色欲四季 | 国产99免费 | 国产精品黄| 免费一级全黄少妇性色生活片 | av尤物| 理论片在线观看理伦片 | 影音先锋黑人 |