文章出處

對象優先在Eden上分配

           大多數情況下,對象優先在新生代Eden區域中分配。當Eden內存區域沒有足夠的空間進行分配時,虛擬機將觸發一次 Minor GC(新生代GC)。Minor GC期間虛擬機將Eden區域的對象移動到         其中一塊Survivor區域。

大對象直接進入老年代

           所謂大對象是指需要大量連續空間的對象。虛擬機提供了一個XX:PretenureSizeThreshold參數,令大于這個值的對象直接在老年代中分配。

長期存活的對象將進入老年代

        虛擬機采用分代收集的思想管理內存,那內存回收時就必須能識別那些對象該放到新生代,那些該到老年代中。為了做到這點,虛擬機為每個對象定義了一個對象年齡Age,每經過一次新生代GC后任然存活,將對象的年齡Age增加1歲,當年齡到一定程度(默認為15)時,將會被晉升到老年代中,對象晉升老年代的年齡限定值,可通過-XX:MaxTenuringThreshold來設置。

Minor GC 和Full GC區別

         新生代GC(Minor GC):指發生在新生代的垃圾收集動作,因為對象大多都具備朝生夕滅特性,所以Minor GC非常頻繁,回收速度也比較快。
        老年代GC(Major GC / Full GC):指發生在老年代中的GC,出現Major GC后,經常會伴隨至少一次的 Minor GC。Major GC的速度一般會比Minor GC慢10倍以上。

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()