阅读背景:

java内存分配策略

来源:互联网 

1. 对象优先在Eden分配

大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够的空间时,虚拟机将发起一次Minor GC。在如下的测试代码中,尝试分配3个2MB大小和1个4MB大小的对象,在运行时通过参数-Xmx20M,-Xms20M,-Xmn10M这三个参数限制了java堆大小为20MB,不可扩展,其中10MB分配给新生代,剩下的非配给老年代。-XX:SurvivorRatio=8决定了新生代中Eden区与一个Survivor区的比例为8:1,即 Eden: from Survivor:to Survivor = 8:1:1,即8MB:1MB:1MB,新生代的可用空间为9MB。大多数情况下,对象在新生代Eden区中分配。当Eden区没有




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: