91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JVM垃圾回收算法和垃圾回收器是什么?

發布時間:2020-05-26 16:26:37 來源:億速云 閱讀:264 作者:鴿子 欄目:軟件技術

垃圾回收算法

  1. 復制算法(Copying)
  2. 標記-清除算法(Mark-Sweep)
  3. 標記-整理算法(Mark-Compact)
    復制算法:
    優點,效率高,不會出現內存碎片,
    缺點,內存利用率低,只能用一半,存活對象較多時效率明顯下降
    Eden  from to 8:1:1,java中大部分對象朝生夕死,所以只有10%的對象需要回收,10%(from)+ 10%(to,預留)
    JVM垃圾回收算法和垃圾回收器是什么?
    標記清除算法:
    優點:空間利用率100%
    缺點:標記和清除效率都不高,會產生大量不連續的內存碎片
    過程:1.首先標記所有需要回收的對象 2.統一回收被標記的對象
    JVM垃圾回收算法和垃圾回收器是什么?
    標記整理算法:
    優點:利用率100%,沒有內存碎片
    缺點:標記和清除效率都不高,效率相對標記-清除要低
    過程:標記后不直接進行清理,而是把存活對象向一端移動,然后清理端邊界外的內存。
    JVM垃圾回收算法和垃圾回收器是什么?

    垃圾回收器

    分代算法:根據各個年代特點選用不用垃圾回收算法
    新生代:采用復制算法
    老年代:使用標記-整理或標記-清除算法
    JVM垃圾回收算法和垃圾回收器是什么?
    并行:垃圾收集的多線程同時進行
    并發:垃圾收集的多線程和應用的多線程同時進行

回收器
1,Seral/Serial Old : 單線程
2,ParNew: 和Seral基本沒區別,多線程
3,Parallel Scavenge(ParallerGC)/Parallel Old : 關注吞吐量的收集器,主要用于后臺運算而不需要太多交互的任務。
4,CMS:一種最短停頓時間的收集器。使用標記清除算法
5,G1:jdk1.9以后推薦使用,跨越的新生代和老年代。使用標記整理和化整為零
所有新生代都是用復制算法,老年代 標記整理和標記清除

Concurrent MarkSweep(CMS):

-XX:+UseConcMarkSweepGC,應用于B/S系統服務器,重視服務的響應速度,希望系統停頓時間最短,給用戶較好的體驗。
垃圾回收過程

  1. 初始標記:僅標記GC Roots直接關聯的對象,速度快,需要停頓
  2. 并發標記:從GC Roots對象進行可達性分析,找到存活對象,耗時最長,不需要停頓
  3. 重新標記:修改并發標記期間因程序繼續運作導致標記變動那一部分,需要停頓(STW),這個停頓會比初始標記長一些,但比并發標記時間短
  4. 并發清除:不需要停頓
    JVM垃圾回收算法和垃圾回收器是什么?
    優點:耗時最長的并發標記和并發清除可以與用戶線程一起工作。
    缺點
    1,CPU資源敏感:并發暫用CPU資源,CPU不足,效率明顯降低。
    2,浮動垃圾:并發清理階段,由于用戶線程繼續運行產生的垃圾,CMS無法處理,需等待下一次GC處理,這部分成為“浮動垃圾”
    3,會產生空間碎片:標記-清理算法會產生不連續的空間碎片

    G1垃圾收集器

    -XX:+UseG1GC
    內部布局改變
    G1把堆劃分多個大小相等的獨立區域(Region),新生代和老年代不再物理隔離。
    算法:標記-整理(humongous)和復制回收算法(survivor)。
    JVM垃圾回收算法和垃圾回收器是什么?
    GC模式
    Young GC(回收Eden、Survivor區):選定所有年輕代的Region,通過控制年輕代個數,來控制young GC 的時間開銷(復制回收算法)
    Mixed GC(全部區域回收):不但選定年輕代Region還要選定老年代收益高的若干Region,進行釋放。Mixed GC 不是Full GC,如果Mixed GC 跟不上程序分配內存速度,就會使用serial odl GC(Full GC)來收集整個GC heap。4G1不是Full GC。
    全局并發標記
    1, 初始標記:僅僅標記一下GC Roots能直接關聯的對象,此階段需要停頓線程(STW),但耗時很短。
    2, 并發標記:從GC Roots開始對堆進行可達性分析,找到活對象,耗時很長,但與用戶程序并行
    3,最終標記:為了修正并發標記階段因用戶程序繼續而導致標記產生變動的那一部分標記記錄。需要停頓線程(STW),但是可并行執行。
    4,篩選回收:首先對各個Region中的回收價值和成本進行排序,根據用戶所期望的GC停頓時間來指定回收計劃。此階段與用戶并行一起并行執行,但是因為回收一部分Region,時間是用戶可控的,而且停頓用戶線程能大幅度提交收集效率。
    JVM垃圾回收算法和垃圾回收器是什么?
    特點
    1, 空間整理:不會產生內存碎片。算法為標記-整理和復制回收算法。
    2, 可預測的停頓:G1,刷選不是經常使用,而是刷選那些回收效率比較高的區域(回收回報比比較高)。總共1000個區域,一個區域10m * 篩選常用的100個區域  急需回收。

Stop The World
GC收集器和GC優化的目標就是盡可能的減少STW的時間和次數。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泰州市| 昭觉县| 金平| 宣化县| 新泰市| 台前县| 南靖县| 兖州市| 信阳市| 伊金霍洛旗| 浠水县| 涞源县| 明溪县| 六盘水市| 吴桥县| 衡阳县| 武定县| 沈阳市| 开封县| 永川市| 乃东县| 澎湖县| 新竹县| 白水县| 改则县| 赤水市| 中江县| 云龙县| 栾川县| 大庆市| 新宾| 白玉县| 方山县| 丰宁| 高唐县| 布尔津县| 新化县| 宽甸| 塔河县| 醴陵市| 商南县|