国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

垃圾收集器

這篇具有很好參考價值的文章主要介紹了垃圾收集器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1.垃圾判斷

1.1 引用計數(shù)法:

1.2 可達性分析:

1.3 常見的GC Roots有:

2.垃圾回收方式:垃圾收集器

2.1 CMS收集器:

2.2 G1收集器:


1.垃圾判斷

1.1 引用計數(shù)法:

????????對象有一個引用計數(shù)器,引用一次計數(shù)器就加1,計數(shù)器為0就是沒有引用,但存在循環(huán)引用問題

1.2 可達性分析:

????????以GC Roots為起點向下搜索,經(jīng)過的路徑叫做引用鏈,若對象和GC Roots之間沒有任意一條引用鏈,則說明不可達,兩次不可達則可以回收

1.3 常見的GC Roots有:

虛擬機棧中引用的對象;本地方法棧中引用的對象;被同步鎖持有的對象;方法區(qū)中靜態(tài)屬性引用的對象

2.垃圾回收方式:垃圾收集器

Serial收集器:單線程,新生代,標記復制算法

ParallelNew 收集器:多線程,新生代,標記復制算法

ParallelScavenge收集器:多線程,新生代,標記復制算法;專注于吞吐量,CPU的高利用率

Serial Old收集器:單線程,老年代,標記整理算法

Parallel Old收集器:多線程,老年代,標記整理算法

CMS收集器:并發(fā)標記清除,專注于最短停頓時間,實現(xiàn)用戶線程和垃圾收集線程并發(fā)工作

G1收集器(默認):在后臺維護了一個優(yōu)先列表,優(yōu)先回收高優(yōu)先級的區(qū)域

2.1 CMS收集器:

過程:四個步驟

  • 初始標記:標記GC Roots能直接關(guān)聯(lián)到的對象,速度很快

  • 并發(fā)標記:從GC Roots的直接關(guān)聯(lián)對象開始遍歷所有對象,此時用戶線程可以和垃圾收集線程并發(fā)運行

  • 重新標記:是為了修正并發(fā)標記期間因為用戶程序運行而導致標記產(chǎn)生變動的對象的標記記錄

  • 并發(fā)清除:對未標記的區(qū)域進行清除,此時能夠與用戶線程并發(fā)執(zhí)行

優(yōu)點:能夠并發(fā)收集,減少用戶等待時間

缺點:標記清除算法導致的空間碎片;對CPU資源敏感;無法處理浮動垃圾(并發(fā)清除階段,用戶線程運行也會產(chǎn)生新的垃圾對象,此時只能在下一次垃圾回收時處理)

2.2 G1收集器:

過程:四個步驟

  • 初始標記:標記GC Roots能直接關(guān)聯(lián)到的對象,并修改TAMS指針的指

  • 并發(fā)標記:從GC Roots的開始對堆中對象進行可達性分析,遞歸掃描堆中的對象圖,找出要回收的對象

  • 最終標記:暫停用戶線程,用于處理并發(fā)階段結(jié)束后遺留的少量SATB記錄

  • 篩選回收:更新Region統(tǒng)計數(shù)據(jù),對各個Region的回收價值和成本排序,根據(jù)用戶期望的停頓時間制定回收計劃,將回收的一部分區(qū)域的存活對象復制到一個空區(qū)域中,清理到整個舊區(qū)域全部空間;此時暫停用戶線程,多條垃圾回收線程并行執(zhí)行

優(yōu)點:不會產(chǎn)生內(nèi)存碎片;能夠指定最大停頓時間;分區(qū)域的內(nèi)存布局

缺點:占用額外的內(nèi)存空間(每個Region維護一個優(yōu)先列表)文章來源地址http://www.zghlxwxcb.cn/news/detail-672955.html

到了這里,關(guān)于垃圾收集器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • Java虛擬機(JVM)垃圾收集器、新生代、老年代、永久代以及內(nèi)存分配策略

    Java虛擬機(JVM)垃圾收集器、新生代、老年代、永久代以及內(nèi)存分配策略

    在 Java 中,堆被劃分成兩個不同的區(qū)域:新生代 ( Young )、老年代 ( Old )。而新生代 ( Young ) 又被劃分為三個區(qū)域:Eden、From Survivor、To Survivor。這樣劃分的目的是為了使 JVM 能夠更好的管理堆內(nèi)存中的對象,包括內(nèi)存的分配以及回收。 新生代中一般保存新出現(xiàn)的對象,所以每次

    2024年02月04日
    瀏覽(27)
  • JVM垃圾回收——G1垃圾收集器

    JVM垃圾回收——G1垃圾收集器

    目錄 一、什么是G1垃圾收集器 二、G1垃圾收集器的內(nèi)存劃分 三、G1垃圾收集器的收集過程 ?四、G1收集器的優(yōu)缺點 五、G1收集器的JVM參數(shù)配置 ????????Garbage First(簡稱G1)收集器是垃圾收集器技術(shù)發(fā)展史上里程碑式的成果,它摒棄了傳統(tǒng)垃圾收集器的嚴格的內(nèi)存劃分,而是采

    2024年02月05日
    瀏覽(26)
  • 08-JVM垃圾收集器詳解

    08-JVM垃圾收集器詳解

    上一篇:07-垃圾收集算法詳解 如果說收集算法是內(nèi)存回收的方法論,那么垃圾收集器就是內(nèi)存回收的具體實現(xiàn)。 雖然我們對各個收集器進行比較,但并非為了挑選出一個最好的收集器。因為直到現(xiàn)在為止還沒有最好的垃圾收集器出現(xiàn),更加沒有萬能的垃圾收集器,我們能做

    2024年02月09日
    瀏覽(31)
  • JVM--- 垃圾收集器詳細整理

    JVM--- 垃圾收集器詳細整理

    目錄 一、垃圾收集需要考慮的三個事情: 二、垃圾回收針對的區(qū)域 三、如何判斷對象已死 ? ? ? ? 1.引用計數(shù)算法: ? ? ? ? 2.可達性分析算法 四、引用 五、生存還是死亡? 六、回收方法區(qū) 七、垃圾收集算法 ? ? ? ? 1.分代收集理論 2.標記-清除算法 ????????3.標記

    2024年02月19日
    瀏覽(30)
  • 深入理解JVM垃圾收集器

    深入理解JVM垃圾收集器

    相關(guān)系列 深入理解JVM垃圾收集算法-CSDN博客 目前市面常見的垃圾收集器有Serial、ParNew、Parallel、CMS、Serial Old、Parallel Old、G1、ZGC以及有二種不常見的Epsilon、Shenandoah的,從上圖可以看到有連線的的垃圾收集器是可以組合使用,是年輕代+老年代。為什么會出現(xiàn)這么多的垃圾收集

    2024年04月09日
    瀏覽(24)
  • JVM:垃圾收集器(7種)

    JVM:垃圾收集器(7種)

    如果兩個收集器之間存在連線,就說明它們可以搭配使用。它們說在的區(qū)域則表示這個收集器屬于新生代收集器還是老年代收集器。其中Serial(串行)、Parallel(并行) ? ? ? ? Serial收集器是最基礎(chǔ)、歷史最悠久的收集器,是HotSpot虛擬機新生代收集器的唯一選擇。這個收集器

    2024年01月20日
    瀏覽(23)
  • JVM ZGC垃圾收集器

    JVM ZGC垃圾收集器

    ZGC(“Z”并非什么專業(yè)名詞的縮寫,這款收集器的名字就叫作Z Garbage Collector)是一款在JDK 11中新加入的具有實驗性質(zhì)[1]的低延遲垃圾收集器,是由Oracle公司研發(fā)的。 ZGC收集器 是一款基于Region內(nèi)存布局的,(暫時)不設(shè)分代的,使用了讀屏障、染色指針和內(nèi)存多重映射等技術(shù)

    2024年02月10日
    瀏覽(25)
  • JVM的故事——垃圾收集器

    JVM的故事——垃圾收集器

    新生代收集器,最基礎(chǔ)的收集器,單線程。進行垃圾收集時必須暫停其他所有工作線程,stop the world 新生代收集器,實質(zhì)上是serial收集器的多線程版本。除了serial,只有它能和CMS收集器(老年代收集器)配合工作。隨著處理器核心數(shù)越來越多,parnew比serial有著更好的性能。(但如

    2024年02月10日
    瀏覽(30)
  • ZGC垃圾收集器-JVM(十五)

    上篇文章說了G1的特性,無分代,復制算法,大內(nèi)存就可以用G1,可預測stw時間等特性。 G1垃圾收集分類-JVM(十四) ZGC收集器 -XX:+UseZGC ZGC(Z Garbage Collector)是在jdk11新加入的低延遲垃圾收集器。 Zgc有四個目標 : 支持至少TB級別堆內(nèi)存回收。(目前4TB) STW保持在10ms之內(nèi)。 吞

    2024年02月16日
    瀏覽(20)
  • G1垃圾收集器-JVM(十三)

    G1垃圾收集器-JVM(十三)

    上篇文章說了CMS垃圾收集器使用以及三色標記如何解決cms的一些問題。分別有初始標記,并發(fā)標記,重新標記,并發(fā)清理,并發(fā)重置。 CMS垃圾收集器三色標記-JVM(十二) G1收集器(Garbage-First) -XX:+UseG1GC 這是一款面向服務器的垃圾收集器,主要針對 設(shè)備多核cpu和大內(nèi)存的機

    2024年02月16日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包