自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JVM系列:MinorGC、MajorGC、FullGC垃圾回收

開發(fā) 前端
從年輕代空間(包括 Eden 和 Survivor 區(qū)域)回收內(nèi)存被稱為 Minor GC,也叫Young GC。因?yàn)镴ava對(duì)象大多具備朝生夕死的特征,所以MinorGC非常頻繁,一般回收速度也比較快。一般采用復(fù)制算法。?

?今天給大家繼續(xù)分享MinorGC、MajorGC、FullGC相關(guān)知識(shí),如有不對(duì)的地方歡迎指正!?

1、MinorGC (新生代垃圾回收)?

       


圖片

     JDK1.8 堆內(nèi)部結(jié)構(gòu)

從年輕代空間(包括 Eden 和 Survivor 區(qū)域)回收內(nèi)存被稱為 Minor GC,也叫Young GC。因?yàn)镴ava對(duì)象大多具備朝生夕死的特征,所以MinorGC非常頻繁,一般回收速度也比較快。一般采用復(fù)制算法。?

說(shuō)明:Minor GC可能會(huì)引發(fā)STW,暫停其他用戶的線程,需要等JVM垃圾回收結(jié)束后,用戶線程才恢復(fù)運(yùn)行。?

Minor GC 觸發(fā)條件

  • Eden伊甸園區(qū)滿了?
  • 新new的對(duì)象需要分配到新生代的Eden伊甸園區(qū),當(dāng)Eden區(qū)的空間不夠的時(shí)候需要進(jìn)行MinorGC策略回收,?

2、Major GC(老年代垃圾回收)?

Major GC指發(fā)生在老年代的GC。?

Major GC觸發(fā)條件

  • 老年代空間不足時(shí),會(huì)先嘗試觸發(fā)Minor GC。Minor GC之后空間還不足,則會(huì)觸發(fā)Major GC。?
  • 說(shuō)明:發(fā)生在老年代的GC ,基本上進(jìn)行一次Major GC 就會(huì)伴隨進(jìn)行一次 Minor GC。Major GC 的速度一般會(huì)比 Minor GC 慢 10 倍,并且STW的時(shí)間更長(zhǎng)。?

3、Full GC (新生代+老年代垃圾回收)?

Full GC可以理解為Major GC+Minor GC組合后進(jìn)行的一整個(gè)過(guò)程,是清理JVM整個(gè)堆空間(年輕代和老年代空間)。?

Full GC觸發(fā)條件

  • 調(diào)用System.gc()方法時(shí),可通過(guò)-XX:+ DisableExplicitGC 參數(shù)來(lái)禁止調(diào)用System.gc()?。
  • 當(dāng)方法區(qū)空間不足時(shí)?。
  • Minor GC后存活的對(duì)象大小超過(guò)了老年代剩余空間?。
  • Minor GC時(shí)中Survivor幸存區(qū)空間不足時(shí),判斷是否允許擔(dān)保失敗,不允許則觸發(fā)Full GC。允許,并且每次晉升到老年代的對(duì)象平均大小>老。年代最大可用連續(xù)內(nèi)存空間,也會(huì)觸發(fā)Full GC?。
  • CMS GC異常,CMS運(yùn)行期間預(yù)留的內(nèi)存無(wú)法滿足程序需要,就會(huì)出現(xiàn)一次“Concurrent Mode Failure”失敗,會(huì)觸發(fā)Full GC?。

STW(Stop The World):垃圾回收發(fā)生過(guò)程中,會(huì)產(chǎn)生應(yīng)用程序的停頓現(xiàn)象。停頓產(chǎn)生的時(shí)候整個(gè)應(yīng)用程序線程都會(huì)被暫停,有點(diǎn)應(yīng)用程序像卡死的情況。?

責(zé)任編輯:武曉燕 來(lái)源: IT技術(shù)分享社區(qū)
相關(guān)推薦

2022-06-10 07:13:29

JVM垃圾回收

2023-12-07 12:21:04

GCJVM垃圾

2022-01-20 10:34:49

JVM垃圾回收算法

2017-08-04 10:53:30

回收算法JVM垃圾回收器

2022-03-21 11:33:11

JVM垃圾回收器垃圾回收算法

2023-08-08 10:29:55

JVM優(yōu)化垃圾回收

2021-11-05 15:23:20

JVM回收算法

2010-09-25 15:33:19

JVM垃圾回收

2009-12-30 10:14:29

JVM垃圾回收

2022-06-22 09:54:45

JVM垃圾回收Java

2010-09-26 16:42:04

JVM內(nèi)存組成JVM垃圾回收

2010-09-27 09:01:26

JVM分代垃圾回收

2020-03-03 17:35:09

Full GCMinor

2017-04-25 14:39:55

JVM內(nèi)存Java

2010-09-16 15:10:24

JVM垃圾回收機(jī)制

2010-09-25 15:26:12

JVM垃圾回收

2009-12-25 16:15:31

JVM垃圾回收算法

2021-10-05 20:29:55

JVM垃圾回收器

2012-01-09 16:53:36

JavaJVM

2024-03-11 16:27:02

垃圾回收器JVM
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)