为什么需要两个Survivor区?
生活随笔
收集整理的這篇文章主要介紹了
为什么需要两个Survivor区?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最大的好處就是解決了碎片化。也就是說為什么一個Survivor區不行?第一部分中,我們知道了必須設置Survivor區。假設現在只有一個Survivor區,我們來模擬一下流程:
剛剛新建的對象在Eden中,一旦Eden滿了,觸發一次Minor GC,Eden中的存活對象就會被移動到Survivor區。這樣繼續循環下去,下一次Eden滿了的時候,問題來了,此時進行Minor GC,Eden和Survivor各有一些存活對象,如果此時把Eden區的存活對象硬放到Survivor區,很明顯這兩部分對象所占有的內存是不連續的,也就導致了內存碎片化。
永遠有一個Survivor space是空的,另一個非空的Survivor space無碎片。
?
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的为什么需要两个Survivor区?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么需要Survivor区?只有Ede
- 下一篇: 新生代中Eden:S1:S2为什么是8: