分代收集算法
什么是分代
在java8時,堆被分為了兩份: 新生代和老年代
【1:2】
其中:
對于新生代,內(nèi)部又被分為了三個區(qū)域。
伊甸園區(qū)Eden
,新生的對象都分配到這里幸存者區(qū)survivor
(分成from和to)
Eden區(qū),from區(qū),to區(qū)【8:1:1】
分代收集算法-工作機制
新
創(chuàng)建的對象
,都會先分配到eden區(qū)
當(dāng)伊甸園內(nèi)存不足,標(biāo)記伊甸園
與 from
(現(xiàn)階段沒有)的存活對象
將存活對象采用復(fù)制算法復(fù)制到 to 中
,復(fù)制完畢后,伊甸園和 from 內(nèi)存都得到釋放
經(jīng)過一段時間后伊甸園的內(nèi)存又出現(xiàn)不足
,標(biāo)記eden區(qū)域to區(qū)存活的對象
,將存活的對象復(fù)制到from區(qū)
當(dāng)幸存區(qū)對象熬過幾次回收(最多15次
),晉升到老年代
(幸存區(qū)內(nèi)存不足
或大對象
會導(dǎo)致提前晉升
)文章來源:http://www.zghlxwxcb.cn/news/detail-647291.html
MinorGC、 Mixed GC 、 FullGC的區(qū)別是什么
Minor GC(新生代GC)、Mixed GC(混合GC)和Full GC(完全GC)是垃圾回收
過程中的三個不同階段
。它們在觸發(fā)條件
、執(zhí)行范圍
和影響范圍
上存在一些區(qū)別。Minor GC
主要針對新生代
進行垃圾回收,Mixed GC
是對新生代和部分老年代
的垃圾回收,Full GC
則是對整個堆
內(nèi)存進行垃圾回收。
隨著垃圾回收的范圍擴大
,停頓時間
和對應(yīng)用程序
的影響也會增加。
文章來源地址http://www.zghlxwxcb.cn/news/detail-647291.html
到了這里,關(guān)于【JVM】JVM中的分代回收的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!