JVM为什么有1个Eden区和2个Survivor区

本文转载自:http://blog.csdn.net/antony9118/article/details/51425581 如需转载自请注明出处,尊重博主的劳动成果。

Eden和Survivor的比例是8:1.

        首先说如果没有Survivor区会出现什么情况:此时每触发一次Minor GC,就会把Eden区的对象复制到老年代,这样当老年代满了之后会触发Major Gc(通常伴随着MinorGC,可以看做Full GC),比较耗时。

如果只有1个Survivor区,那当Eden区满了之后,就会复制对象到Survivor区,容易产生内存碎片化。严重影响性能。
所以使用2个Survivor区,始终保持有一个空的Survivor区,可以避免内存碎片化。




你可能感兴趣的:(JAVA)