亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

什么時候觸發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

夏河县| 大余县| 平江县| 娄底市| 榆中县| 承德县| 华池县| 永顺县| 襄汾县| 南郑县| 上饶市| 乐亭县| 沙坪坝区| 浦江县| 西昌市| 霍邱县| 乡城县| 土默特左旗| 梅州市| 格尔木市| 永康市| 南通市| 耒阳市| 阳山县| 马山县| 彭州市| 怀集县| 阿拉善左旗| 浦东新区| 朝阳区| 景东| 喜德县| 宜昌市| 昔阳县| 略阳县| 德安县| 杂多县| 星子县| 堆龙德庆县| 尚义县| 莱芜市|