jvm內(nèi)存設(shè)置多少合理 JVM堆內(nèi)存中,為何有兩個survivor區(qū),一個不行嗎?
JVM堆內(nèi)存中,為何有兩個survivor區(qū),一個不行嗎?年輕一代使用復(fù)制算法。每次執(zhí)行小GC時,伊甸園區(qū)域中幸存的物體都會被復(fù)制到幸存區(qū)域,幸存的物體會被移到老年。如果只有一個幸存者區(qū)域,它將產(chǎn)生垃
JVM堆內(nèi)存中,為何有兩個survivor區(qū),一個不行嗎?
年輕一代使用復(fù)制算法。每次執(zhí)行小GC時,伊甸園區(qū)域中幸存的物體都會被復(fù)制到幸存區(qū)域,幸存的物體會被移到老年。如果只有一個幸存者區(qū)域,它將產(chǎn)生垃圾碎片。
讓我們看看只有一個s區(qū)域的情況
如果有兩個區(qū)域,一個是S1,一個是S2,則將S1和Eden區(qū)域的幸存對象復(fù)制到S2,下次觸發(fā)時將S2和Eden區(qū)域的幸存對象復(fù)制到S1