国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

            手機(jī)站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

            千鋒教育

            掃一掃進(jìn)入千鋒手機(jī)站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

            當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Hotspot中有哪些垃圾回收器?

            Hotspot中有哪些垃圾回收器?

            來(lái)源:千鋒教育
            發(fā)布人:wjy
            時(shí)間: 2022-09-15 15:38:54 1663227534

              

            Hotspot116

             

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

              單線程與多線程: 單線程指的是垃圾收集器只使用一個(gè)線程進(jìn)行收集,而多線程使用多個(gè)線程;

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

              1、Serial 收集器

            Hotspot450

              Serial 翻譯為串行,也就是說(shuō)它以串行的方式執(zhí)行。

              它是單線程的收集器,只會(huì)使用一個(gè)線程進(jìn)行垃圾收集工作。

              它的優(yōu)點(diǎn)是簡(jiǎn)單高效,對(duì)于單個(gè) CPU 環(huán)境來(lái)說(shuō),由于沒(méi)有線程交互的開(kāi)銷,因此擁有最高的單線程收集效率。

              它是 Client 模式下的默認(rèn)新生代收集器,因?yàn)樵谟脩舻淖烂鎽?yīng)用場(chǎng)景下,分配給虛擬機(jī)管理的內(nèi)存一般來(lái)說(shuō)不會(huì)很大。Serial 收集器收集幾十兆甚至一兩百兆的新生代停頓時(shí)間可以控制在一百多毫秒以內(nèi),只要不是太頻繁,這點(diǎn)停頓是可以接受的。

              2、ParNew 收集器

            Hotspot821

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

              是 Server 模式下的虛擬機(jī)首選新生代收集器,除了性能原因外,主要是因?yàn)槌?Serial 收集器,只有它能與 CMS 收集器配合工作。

              默認(rèn)開(kāi)啟的線程數(shù)量與 CPU 數(shù)量相同,可以使用 -XX:ParallelGCThreads 參數(shù)來(lái)設(shè)置線程數(shù)。

              3、Parallel Scavenge 收集器

            Hotspot1123

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

              其它收集器關(guān)注點(diǎn)是盡可能縮短垃圾收集時(shí)用戶線程的停頓時(shí)間,而它的目標(biāo)是達(dá)到一個(gè)可控制的吞吐量,它被稱為“吞吐量?jī)?yōu)先”收集器。這里的吞吐量指 CPU 用于運(yùn)行用戶代碼的時(shí)間占總時(shí)間的比值。

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

              縮短停頓時(shí)間是以犧牲吞吐量和新生代空間來(lái)?yè)Q取的: 新生代空間變小,垃圾回收變得頻繁,導(dǎo)致吞吐量下降。

              可以通過(guò)一個(gè)開(kāi)關(guān)參數(shù)打開(kāi) GC 自適應(yīng)的調(diào)節(jié)策略(GC Ergonomics),就不需要手動(dòng)指定新生代的大小(-Xmn)、Eden 和 Survivor 區(qū)的比例、晉升老年代對(duì)象年齡等細(xì)節(jié)參數(shù)了。虛擬機(jī)會(huì)根據(jù)當(dāng)前系統(tǒng)的運(yùn)行情況收集性能監(jiān)控信息,動(dòng)態(tài)調(diào)整這些參數(shù)以提供最合適的停頓時(shí)間或者最大的吞吐量。

              4、Serial Old 收集器

            Hotspot1681

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

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

              作為 CMS 收集器的后備預(yù)案,在并發(fā)收集發(fā)生 Concurrent Mode Failure 時(shí)使用。

              5、Parallel Old 收集器

            Hotspot2011

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

              在注重吞吐量以及 CPU 資源敏感的場(chǎng)合,都可以優(yōu)先考慮 Parallel Scavenge 加 Parallel Old 收集器。

              6、CMS 收集器

            Hotspot2246

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

              分為以下四個(gè)流程:

              初始標(biāo)記: 僅僅只是標(biāo)記一下 GC Roots 能直接關(guān)聯(lián)到的對(duì)象,速度很快,需要停頓。

              并發(fā)標(biāo)記: 進(jìn)行 GC Roots Tracing 的過(guò)程,它在整個(gè)回收過(guò)程中耗時(shí)最長(zhǎng),不需要停頓。

              重新標(biāo)記: 為了修正并發(fā)標(biāo)記期間因用戶程序繼續(xù)運(yùn)作而導(dǎo)致標(biāo)記產(chǎn)生變動(dòng)的那一部分對(duì)象的標(biāo)記記錄,需要停頓。

              并發(fā)清除: 不需要停頓。

              在整個(gè)過(guò)程中耗時(shí)最長(zhǎng)的并發(fā)標(biāo)記和并發(fā)清除過(guò)程中,收集器線程都可以與用戶線程一起工作,不需要進(jìn)行停頓。

              具有以下缺點(diǎn):

              吞吐量低: 低停頓時(shí)間是以犧牲吞吐量為代價(jià)的,導(dǎo)致 CPU 利用率不夠高。

              無(wú)法處理浮動(dòng)垃圾,可能出現(xiàn) Concurrent Mode Failure。浮動(dòng)垃圾是指并發(fā)清除階段由于用戶線程繼續(xù)運(yùn)行而產(chǎn)生的垃圾,這部分垃圾只能到下一次 GC 時(shí)才能進(jìn)行回收。由于浮動(dòng)垃圾的存在,因此需要預(yù)留出一部分內(nèi)存,意味著 CMS 收集不能像其它收集器那樣等待老年代快滿的時(shí)候再回收。如果預(yù)留的內(nèi)存不夠存放浮動(dòng)垃圾,就會(huì)出現(xiàn) Concurrent Mode Failure,這時(shí)虛擬機(jī)將臨時(shí)啟用 Serial Old 來(lái)替代 CMS。

              標(biāo)記 - 清除算法導(dǎo)致的空間碎片,往往出現(xiàn)老年代空間剩余,但無(wú)法找到足夠大連續(xù)空間來(lái)分配當(dāng)前對(duì)象,不得不提前觸發(fā)一次 Full GC。

              7、G1 收集器

              G1(Garbage-First),它是一款面向服務(wù)端應(yīng)用的垃圾收集器,在多 CPU 和大內(nèi)存的場(chǎng)景下有很好的性能。HotSpot 開(kāi)發(fā)團(tuán)隊(duì)賦予它的使命是未來(lái)可以替換掉 CMS 收集器。

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

             

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

            Hotspot3336

             

              通過(guò)引入 Region 的概念,從而將原來(lái)的一整塊內(nèi)存空間劃分成多個(gè)的小空間,使得每個(gè)小空間可以單獨(dú)進(jìn)行垃圾回收。這種劃分方法帶來(lái)了很大的靈活性,使得可預(yù)測(cè)的停頓時(shí)間模型成為可能。通過(guò)記錄每個(gè) Region 垃圾回收時(shí)間以及回收所獲得的空間(這兩個(gè)值是通過(guò)過(guò)去回收的經(jīng)驗(yàn)獲得),并維護(hù)一個(gè)優(yōu)先列表,每次根據(jù)允許的收集時(shí)間,優(yōu)先回收價(jià)值最大的 Region。

              每個(gè) Region 都有一個(gè) Remembered Set,用來(lái)記錄該 Region 對(duì)象的引用對(duì)象所在的 Region。通過(guò)使用 Remembered Set,在做可達(dá)性分析的時(shí)候就可以避免全堆掃描。

            Hotspot3742

             

              如果不計(jì)算維護(hù) Remembered Set 的操作,G1 收集器的運(yùn)作大致可劃分為以下幾個(gè)步驟:

              初始標(biāo)記

              并發(fā)標(biāo)記

              最終標(biāo)記: 為了修正在并發(fā)標(biāo)記期間因用戶程序繼續(xù)運(yùn)作而導(dǎo)致標(biāo)記產(chǎn)生變動(dòng)的那一部分標(biāo)記記錄,虛擬機(jī)將這段時(shí)間對(duì)象變化記錄在線程的 Remembered Set Logs 里面,最終標(biāo)記階段需要把 Remembered Set Logs 的數(shù)據(jù)合并到 Remembered Set 中。這階段需要停頓線程,但是可并行執(zhí)行。

              篩選回收: 首先對(duì)各個(gè) Region 中的回收價(jià)值和成本進(jìn)行排序,根據(jù)用戶所期望的 GC 停頓時(shí)間來(lái)制定回收計(jì)劃。此階段其實(shí)也可以做到與用戶程序一起并發(fā)執(zhí)行,但是因?yàn)橹换厥找徊糠?Region,時(shí)間是用戶可控制的,而且停頓用戶線程將大幅度提高收集效率。

              具備如下特點(diǎn):

              空間整合: 整體來(lái)看是基于“標(biāo)記 - 整理”算法實(shí)現(xiàn)的收集器,從局部(兩個(gè) Region 之間)上來(lái)看是基于“復(fù)制”算法實(shí)現(xiàn)的,這意味著運(yùn)行期間不會(huì)產(chǎn)生內(nèi)存空間碎片。

              可預(yù)測(cè)的停頓:能讓使用者明確指定在一個(gè)長(zhǎng)度為 M 毫秒的時(shí)間片段內(nèi),消耗在 GC 上的時(shí)間不得超過(guò) N 毫秒。

            tags:
            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
            請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
            免費(fèi)領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            周同學(xué) 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT
            怎樣投抖加不花錢(qián)?別人能看出來(lái)嗎?

            抖音一些視頻為了獲取更多點(diǎn)擊,一些博主機(jī)會(huì)投抖加。其實(shí)抖加的投放沒(méi)有絕對(duì)正確的方法,而不同賬號(hào)和視頻投放的策略都是不一樣的,不過(guò)一般情...詳情>>

            2023-09-19 08:00:10
            抖店入駐收費(fèi)多少?開(kāi)抖店費(fèi)用是多少?

            如果要開(kāi)通抖音小店,需要先把抖音賬號(hào)開(kāi)通商品櫥窗功能。入駐之后,可以選擇頭條賬號(hào)、抖音賬號(hào)、火山賬號(hào)任一類型注冊(cè)或登錄。那開(kāi)個(gè)抖店要多...詳情>>

            2023-09-19 07:50:26
            想做直播帶貨的貨源哪里來(lái)?怎么找貨源?

            現(xiàn)如今直播推廣的方式是非常火的,有著非常多的賣家都是利用直播推廣店鋪產(chǎn)品,效果也是非常不錯(cuò)。但很多賣家想要了解現(xiàn)在直播帶貨的話什么產(chǎn)品...詳情>>

            2023-09-19 07:47:16
            適合三農(nóng)領(lǐng)域的名字?有何技巧?

            現(xiàn)在在抖音上很多博主會(huì)選擇直播來(lái)賺取更多的流量以及利潤(rùn),直播間的東西也有很多讓消費(fèi)者信任并且喜歡的,而且隨著越來(lái)越多人直播,很多農(nóng)產(chǎn)品...詳情>>

            2023-09-19 07:06:05
            抖店商品發(fā)布違規(guī)怎么申訴?有何規(guī)則?

            抖店服務(wù)市場(chǎng)服務(wù)商發(fā)布違禁信息如何處理?情節(jié)嚴(yán)重程度判定原則:違規(guī)嚴(yán)重等級(jí)主要通過(guò)服務(wù)商違規(guī)次數(shù)、造成后果的嚴(yán)重程度、獲利或?qū)е聯(lián)p失的...詳情>>

            2023-09-19 06:59:55
            開(kāi)班信息
            北京校區(qū)
            • 北京校區(qū)
            • 大連校區(qū)
            • 廣州校區(qū)
            • 成都校區(qū)
            • 杭州校區(qū)
            • 長(zhǎng)沙校區(qū)
            • 合肥校區(qū)
            • 南京校區(qū)
            • 上海校區(qū)
            • 深圳校區(qū)
            • 武漢校區(qū)
            • 鄭州校區(qū)
            • 西安校區(qū)
            • 青島校區(qū)
            • 重慶校區(qū)
            • 太原校區(qū)
            • 沈陽(yáng)校區(qū)
            • 南昌校區(qū)
            • 哈爾濱校區(qū)