麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Hotspot中有哪些垃圾回收器?

Hotspot中有哪些垃圾回收器?

來源:千鋒教育
發布人:wjy
時間: 2022-09-15 15:38:54 1663227534

  

Hotspot116

 

  以上是 HotSpot 虛擬機中的 7 個垃圾收集器,連線表示垃圾收集器可以配合使用。

  單線程與多線程: 單線程指的是垃圾收集器只使用一個線程進行收集,而多線程使用多個線程;

  串行與并行: 串行指的是垃圾收集器與用戶程序交替執行,這意味著在執行垃圾收集的時候需要停頓用戶程序;并形指的是垃圾收集器和用戶程序同時執行。除了 CMS 和 G1 之外,其它垃圾收集器都是以串行的方式執行。

  1、Serial 收集器

Hotspot450

  Serial 翻譯為串行,也就是說它以串行的方式執行。

  它是單線程的收集器,只會使用一個線程進行垃圾收集工作。

  它的優點是簡單高效,對于單個 CPU 環境來說,由于沒有線程交互的開銷,因此擁有最高的單線程收集效率。

  它是 Client 模式下的默認新生代收集器,因為在用戶的桌面應用場景下,分配給虛擬機管理的內存一般來說不會很大。Serial 收集器收集幾十兆甚至一兩百兆的新生代停頓時間可以控制在一百多毫秒以內,只要不是太頻繁,這點停頓是可以接受的。

  2、ParNew 收集器

Hotspot821

  它是 Serial 收集器的多線程版本。

  是 Server 模式下的虛擬機首選新生代收集器,除了性能原因外,主要是因為除了 Serial 收集器,只有它能與 CMS 收集器配合工作。

  默認開啟的線程數量與 CPU 數量相同,可以使用 -XX:ParallelGCThreads 參數來設置線程數。

  3、Parallel Scavenge 收集器

Hotspot1123

  與 ParNew 一樣是多線程收集器。

  其它收集器關注點是盡可能縮短垃圾收集時用戶線程的停頓時間,而它的目標是達到一個可控制的吞吐量,它被稱為“吞吐量優先”收集器。這里的吞吐量指 CPU 用于運行用戶代碼的時間占總時間的比值。

  停頓時間越短就越適合需要與用戶交互的程序,良好的響應速度能提升用戶體驗。而高吞吐量則可以高效率地利用 CPU 時間,盡快完成程序的運算任務,主要適合在后臺運算而不需要太多交互的任務。

  縮短停頓時間是以犧牲吞吐量和新生代空間來換取的: 新生代空間變小,垃圾回收變得頻繁,導致吞吐量下降。

  可以通過一個開關參數打開 GC 自適應的調節策略(GC Ergonomics),就不需要手動指定新生代的大小(-Xmn)、Eden 和 Survivor 區的比例、晉升老年代對象年齡等細節參數了。虛擬機會根據當前系統的運行情況收集性能監控信息,動態調整這些參數以提供最合適的停頓時間或者最大的吞吐量。

  4、Serial Old 收集器

Hotspot1681

  是 Serial 收集器的老年代版本,也是給 Client 模式下的虛擬機使用。如果用在 Server 模式下,它有兩大用途:

  在 JDK 1.5 以及之前版本(Parallel Old 誕生以前)中與 Parallel Scavenge 收集器搭配使用。

  作為 CMS 收集器的后備預案,在并發收集發生 Concurrent Mode Failure 時使用。

  5、Parallel Old 收集器

Hotspot2011

  是 Parallel Scavenge 收集器的老年代版本。

  在注重吞吐量以及 CPU 資源敏感的場合,都可以優先考慮 Parallel Scavenge 加 Parallel Old 收集器。

  6、CMS 收集器

Hotspot2246

  CMS(Concurrent Mark Sweep),Mark Sweep 指的是標記 - 清除算法。

  分為以下四個流程:

  初始標記: 僅僅只是標記一下 GC Roots 能直接關聯到的對象,速度很快,需要停頓。

  并發標記: 進行 GC Roots Tracing 的過程,它在整個回收過程中耗時最長,不需要停頓。

  重新標記: 為了修正并發標記期間因用戶程序繼續運作而導致標記產生變動的那一部分對象的標記記錄,需要停頓。

  并發清除: 不需要停頓。

  在整個過程中耗時最長的并發標記和并發清除過程中,收集器線程都可以與用戶線程一起工作,不需要進行停頓。

  具有以下缺點:

  吞吐量低: 低停頓時間是以犧牲吞吐量為代價的,導致 CPU 利用率不夠高。

  無法處理浮動垃圾,可能出現 Concurrent Mode Failure。浮動垃圾是指并發清除階段由于用戶線程繼續運行而產生的垃圾,這部分垃圾只能到下一次 GC 時才能進行回收。由于浮動垃圾的存在,因此需要預留出一部分內存,意味著 CMS 收集不能像其它收集器那樣等待老年代快滿的時候再回收。如果預留的內存不夠存放浮動垃圾,就會出現 Concurrent Mode Failure,這時虛擬機將臨時啟用 Serial Old 來替代 CMS。

  標記 - 清除算法導致的空間碎片,往往出現老年代空間剩余,但無法找到足夠大連續空間來分配當前對象,不得不提前觸發一次 Full GC。

  7、G1 收集器

  G1(Garbage-First),它是一款面向服務端應用的垃圾收集器,在多 CPU 和大內存的場景下有很好的性能。HotSpot 開發團隊賦予它的使命是未來可以替換掉 CMS 收集器。

  堆被分為新生代和老年代,其它收集器進行收集的范圍都是整個新生代或者老年代,而 G1 可以直接對新生代和老年代一起回收。

 

  G1 把堆劃分成多個大小相等的獨立區域(Region),新生代和老年代不再物理隔離。

Hotspot3336

 

  通過引入 Region 的概念,從而將原來的一整塊內存空間劃分成多個的小空間,使得每個小空間可以單獨進行垃圾回收。這種劃分方法帶來了很大的靈活性,使得可預測的停頓時間模型成為可能。通過記錄每個 Region 垃圾回收時間以及回收所獲得的空間(這兩個值是通過過去回收的經驗獲得),并維護一個優先列表,每次根據允許的收集時間,優先回收價值最大的 Region。

  每個 Region 都有一個 Remembered Set,用來記錄該 Region 對象的引用對象所在的 Region。通過使用 Remembered Set,在做可達性分析的時候就可以避免全堆掃描。

Hotspot3742

 

  如果不計算維護 Remembered Set 的操作,G1 收集器的運作大致可劃分為以下幾個步驟:

  初始標記

  并發標記

  最終標記: 為了修正在并發標記期間因用戶程序繼續運作而導致標記產生變動的那一部分標記記錄,虛擬機將這段時間對象變化記錄在線程的 Remembered Set Logs 里面,最終標記階段需要把 Remembered Set Logs 的數據合并到 Remembered Set 中。這階段需要停頓線程,但是可并行執行。

  篩選回收: 首先對各個 Region 中的回收價值和成本進行排序,根據用戶所期望的 GC 停頓時間來制定回收計劃。此階段其實也可以做到與用戶程序一起并發執行,但是因為只回收一部分 Region,時間是用戶可控制的,而且停頓用戶線程將大幅度提高收集效率。

  具備如下特點:

  空間整合: 整體來看是基于“標記 - 整理”算法實現的收集器,從局部(兩個 Region 之間)上來看是基于“復制”算法實現的,這意味著運行期間不會產生內存空間碎片。

  可預測的停頓:能讓使用者明確指定在一個長度為 M 毫秒的時間片段內,消耗在 GC 上的時間不得超過 N 毫秒。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
開班信息
北京校區
  • 北京校區
  • 大連校區
  • 廣州校區
  • 成都校區
  • 杭州校區
  • 長沙校區
  • 合肥校區
  • 南京校區
  • 上海校區
  • 深圳校區
  • 武漢校區
  • 鄭州校區
  • 西安校區
  • 青島校區
  • 重慶校區
  • 太原校區
  • 沈陽校區
  • 南昌校區
  • 哈爾濱校區
主站蜘蛛池模板: 渣男渣女抹胸渣男渣女| 欧美乱大交xxxxx另类| 好爽好深胸好大好多水视频| 日韩三级视频| 国产一级毛片在线| 久久成人国产精品| 高清仑乱| 四虎最新地址在线观看1080p| 波多野结衣两部黑人mp4| 182tv免费视视频线路一二三| 欧美特黄视频在线观看| 老鸭窝在线视频观看| 中文字幕亚洲一区二区va在线| 日本口工h全彩漫画大全| 一区精品麻豆入口| 最近免费最新高清中文字幕韩国 | 717影院理伦午夜论八戒| 亲密爱人在线观看韩剧完整版免费| 中国老人倣爱视频| 四虎国产精品免费久久影院| 国产成人精品久久| 免费的三级毛片| 国产三级免费电影| 最新视频-88av| 波多野结衣一区| 村上里沙在线播放| 欧美性色19p| 攵女yin乱合集高h文| 中文字幕1页| 最近韩国免费观看hd电影国语| 国产成人精品免费直播| 日本一道本在线视频| 日韩av片无码一区二区不卡电影| 欧美综合自拍亚洲综合图片区| 日本精品一区二区三区在线视频 | 性按摩xxxx| 女神捕电影高清在线观看| 日本三级电影网址| 亚洲国产视频网| 菠萝蜜视频在线观看入口| 波多野结衣中文字幕电影|