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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

深入理解JVM-垃圾回收器

發布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入理解JVM-垃圾回收器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看完《深入理解JVM》,結合網上資料后根據跟人理解整理出的簡潔版,主要關注是什么, 怎么做到的,特點等,沒有進入深入剖析,旨在快速了解,具體應用時個人再根據具體點去進行深入。歡迎留言討論!是什么?垃圾回收器是垃圾回收算法的包裝,可以在JVM中設置需要使用的垃圾回收器;怎么做?Serial收集器:單線程進行垃圾回收, 執行回收過程中,程序會暫停。特點:簡單高效,適用于單個CPU場景。常用于新生代回收;SerialOld: Serial的老年代版本;用于老年代回收;parnew收集器:Serial 的多線程版本,回收過程中,程序也會暫停;特點:適合多核場景,用于新生代回收,可以與CMS配合;Parallel收集器:并行回收,程序會暫停,可控制吞吐量;特點:吞吐量優先,更關注可控制的吞吐量,用于新生代回收;ParallelOld收集器:paraller老年代版本;parallel+parallelOld 為吞吐量優先組合,當應用程序運行在具有多個CPU上,對暫停時間沒有特別高的要求時,即程序主要在后臺進行計算,而不需要與用戶進行太多交互;例如,那些執行批量處理、訂單處理、工資支付、科學計算的應用程序;cms收集器:采用標記清除算法,多線程回收,僅用于老年代;運作流程:初始標記、并發標記、重新標記、并發清除在并發標記、并發清除階段可以多線程并行進行;特點:并發收集,低停頓,以回收最短停頓時間為目標,適用于常見B/S場景;缺點:需要內存大,影響吞吐;無法及時清理浮動垃圾;產生大量內存碎片;解決辦法:通過 -XX:CMSInitiatingOccupancyFraction設置預留空間,以減少因為浮動垃圾,導致內存空間無法滿足導致的fullgc;通過 -XX:+UseCMSCompactAtFullCollection開啟碎片合并整理;配合-XX:+CMSFullGCsBeforeCompaction設置執行多少次不壓縮的fullgc后進行一次整理壓縮;G1收集器:1.7版本推出,多線程處理,可管理整個堆內存的垃圾回收:運作流程:初始標記、并發標記、最終標記、篩選回收特點:結合多種垃圾算法,空間整合,不產生碎片低停頓的同時實現高吞吐量場景:面向服務端應用,針對具有大內存、多處理器的機器;最主要的應用是為需要低GC延遲,并具有大堆的應用程序提供解決方案;如:在堆大小約6GB或更大時,可預測的暫停時間可以低于0.5秒;常用參數:-XX:+UseSerialGC:在新生代和老年代使用串行收集器-XX:+UseParNewGC:在新生代使用并行收集器-XX:+UseParallelGC :新生代使用并行回收收集器,更加關注吞吐量-XX:+UseParallelOldGC:老年代使用并行回收收集器-XX:ParallelGCThreads:設置用于垃圾回收的線程數-XX:+UseConcMarkSweepGC:新生代使用并行收集器,老年代使用CMS+串行收集器-XX:ParallelCMSThreads:設定CMS的線程數量-XX:+UseG1GC:啟用G1垃圾回收器-XX:InitiatingHeapOccupancyPercent:當整個Java堆的占用率達到參數值時,開始并發標記階段;默認為45;-XX:MaxGCPauseMillis:為G1設置暫停時間目標,默認值為200毫秒; 復制代碼


總結

以上是生活随笔為你收集整理的深入理解JVM-垃圾回收器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。