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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

GC之7大垃圾收集器详解(下)

發布時間:2024/2/28 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GC之7大垃圾收集器详解(下) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GC之7大垃圾收集器詳解


目錄

  • GC之CMS收集器
  • GC之SerialOld收集器
  • GC之如何選擇垃圾收集器
  • GC之G1收集器
  • 第一部分請參見: GC之7大垃圾收集器詳解(上)


    6. GC之CMS收集器

  • CMS收集器(ConcurrentMarkSweep:并發標記清除)是一種以獲取最短回收停頓時間為目標的收集器。

  • 適合應用在互聯網站或者B/S系統的服務器上,這類應用尤其重視服務器的響應速度,希望系統停頓時間最短。

  • CMS非常適合堆內存大、CPU核數多的服務器端應用,也是G1出現之前大型應用的首選收集器。

  • Concurrent Mark Sweep 并發標記清除,并發收集低停頓,并發指的是與用戶線程一起執行

  • 開啟該收集器的JVM參數:-XX:+UseConcMarkSreepGC,開啟該參數后會自動將-XX:+UseParNewGC打開

  • 開啟該參數后,使用ParNew(Young區用)+CMS(Old區用)+SerialOld的收集器組合,SerialOld將作為CMS出錯的后備收集器

  • CMS四步驟

  • 初始標記(CMS initial mark):只是標記一下GC Roots能直接關聯的對象,速度很快,仍然需要暫停所有的工作線程
  • 并發標記(CMS concurrent mark)和用戶線程一起:進行GC Roots跟蹤的過程,和用戶線程一起工作,不需要暫停工作線程。主要標記過程,標記全部對象
  • 重新標記(CMS remark):為了修正并發標記期間,因用戶程序繼續運行而導致標記產生變動的那一部分對象的標記記錄,仍然需要暫停所有的工作線程。由于并發標記時,用戶線程仍然運行,因此在正式清理前,再做修正。
  • 并發清除(CMS concurrent sweep)和用戶線程一起:清除GC Roots不可達對象,和用戶線程一起工作,不需要暫停工作線程。基于標記結果,直接清理對象
  • 由于耗時最長的并發標記和并發清除過程中,垃圾收集線程可以和用戶一起并發工作,所以總體上來看CMS收集器的內存回收和用戶線程是一起并發地執行。

  • CMS簡圖:

  • CMS優點:并發收集低停頓

  • CMS缺點:

  • 并發執行,對cpu資源壓力大:由于并發進行,CMS在收集與應用線程會同時會增加對堆內存的占用,也就是說,CMS必須要在老年代堆內存用盡之前完成垃圾回收,否則CMS回收失敗時,將觸發擔保機制,串行老年代收集器將會以
    STW的方式進行上次GC,從而造成較大停頓時間。
  • 采用的標記清除算法會導致大量碎片:標記清除算法無法整理空間碎片,老年代空間會隨著應用時長被逐步耗盡,最后將不得不通過擔保機制對堆內存進行壓縮。CMS也提供了參數 -XX:MSFuIIGCsBeForeCompaction (默認0,即每次都進行內存整理)來指定多少次CMS收集之后,進行一次壓縮的FullGC。

  • 7. GC之SerialOld收集器

  • SerialOld是Serial垃圾收集器老年代版本,它同樣是個單線程的收集器,使用標記-整理算法,這個收集器也主要是運行在Client默認的java虛擬機默認的年老代垃圾收集器。

  • 在Server模式下,主要有兩個用途(了解,版本己經到8及以后):

  • 在JDK1.5之前版本中與新生代的Parallel Scavenge收集器搭配使用。(ParallelScavenge+SerialOld)
  • 作為老年代版中使用CMS收集器的后備垃圾收集方案。

  • 8. GC之如何選擇垃圾收集器



    9. GC之G1收集器

    G1收集器內容比較重要,也比較多,另開一篇:GC之G1垃圾收集器

    總結

    以上是生活随笔為你收集整理的GC之7大垃圾收集器详解(下)的全部內容,希望文章能夠幫你解決所遇到的問題。

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