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

溫馨提示×

溫馨提示×

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

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

什么時候觸發GC

發布時間:2020-07-20 22:11:12 來源:網絡 閱讀:1018 作者:愛與夢想 欄目:軟件技術

Young GC----針對年輕代

當Eden區滿了的時候,會觸發Young GC


Full GC----針對整個堆

1. 在發生Young GC的時候,虛擬機會檢測之前每次晉升到老年代的平均大小是否大于年老代的剩余空間,如果大于,則直接進行Full GC;

2. 如果小于,但設置了Handle PromotionFailure,那么也會執行Full GC。promotion failed是在進行Minor GC時,survivor space放不下、對象只能放入老年代,而此時老年代也放不下造成的。

3. 永久代空間不足,會觸發Full GC

4. System.gc()也會觸發Full GC

5. 堆中分配很大的對象

所謂大對象,是指需要大量連續內存空間的java對象,例如很長的數組,此種對象會直接進入老年代,而老年代雖然有很大的剩余空間,但是無法找到足夠大的連續空間來分配給當前對象,此種情況就會觸發JVM進行Full GC。為了解決這個問題,CMS垃圾收集器提供了一個可配置的參數,即-XX:+UseCMSCompactAtFullCollection開關參數,用于在“享受”完Full GC服務之后額外免費贈送一個碎片整理的過程,內存整理的過程無法并發的,空間碎片問題沒有了,但提頓時間不得不變長了,JVM設計者們還提供了另外一個參數 -XX:CMSFullGCsBeforeCompaction,這個參數用于設置在執行多少次不壓縮的Full GC后,跟著來一次帶壓縮的。

6.?CMS GC concurrent mode failure

concurrent mode failure是在執行CMS GC的過程中同時有對象要放入老年代,而此時老年代空間不足造成的(有時候“空間不足”是CMS GC時當前的浮動垃圾過多導致暫時性的空間不足觸發Full GC)


CMS GC----針對年老代

  1. 配置了-XX:CMSInitiatingOccupancyFraction=75和-XX:+UseCMSInitiatingOccupancyOnly,設定CMS在對內存占用率達到75%的時候開始GC

  2. 配置了-XX:+CMSClassUnloadingEnabledCMSInitiatingPermOccupancyFraction=80%,即:Perm Gen的使用達到一定的比率,默認為92%

  3. 配置了-XX:+ExplicitGCInvokesConcurrent,未配置-XX:+DisableExplicitGC的情況下,顯示調用了System.gc()

CMS在并發模式工作的時候是只收集old gen的。但一旦并發模式失敗(發生concurrent mode failure)就有選擇性的會進行全堆收集,也就是退回到full GC。

向AI問一下細節
推薦閱讀:
  1. php gc
  2. java GC筆記

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

AI

汶川县| 湛江市| 麻江县| 托克托县| 洪湖市| 新化县| 久治县| 民丰县| 威远县| 浏阳市| 绥化市| 白水县| 溧阳市| 梁河县| 西丰县| 江陵县| 宝坻区| 五大连池市| 竹山县| 双流县| 策勒县| 万全县| 公主岭市| 罗平县| 太白县| 腾冲县| 元谋县| 合川市| 丰宁| 安国市| 从江县| 石狮市| 诸暨市| 久治县| 宁波市| 翁牛特旗| 青神县| 吴江市| 台东县| 金坛市| 新乡市|