對象優先在Eden配置設定
對象優先在Eden配置設定,如果說Eden記憶體空間不足,就會發生Minor GC
大對象直接進入老年代
大對象:需要大量連續記憶體空間的Java對象,比如:很長的字元串和大型數組。
大對象帶來的副作用:
- 當沒有足夠的連續空間來存放大對象的時候,就需要提前出發一次Full GC
- 在記憶體回收過程中,會進行大量的記憶體複制
-XX:PretenureSizeThreshold
參數 ,大于這個參數數量直接的對象直接在老年代配置設定,預設為0 ,表示絕不會直接配置設定在老年代。
長期存活的對象将進入老年代
長期存活的對象将進入老年代,預設15歲,可以通過
-XX:MaxTenuringThreshold
調整。
動态對象年齡判定
為了能更好地适應不同程式的記憶體狀況,虛拟機并不是永遠地要求對象的年齡必須達到了
MaxTenuringThreshold
才能晉升老年代,如果在Survivor空間中相同年齡所有對象大小的總和大于Survivor空間的一半,年齡大于或等于該年齡的對象就可以直接進入老年代,無須等到
MaxTenuringThreshold
的年齡。