java内存模型之年轻代总结(一)

https://blog.****.net/weixin_38336658/article/details/86719305

这是jvm内存模型,有点简陋。最近面试,逐渐总结遗漏点

转自https://blog.****.net/qq_35181209/article/details/78033329

java内存模型之年轻代总结(一)

 

从这副图可以看出新生代由Eden还survivor

命名也有点意思,Eden翻译是伊甸园,出生地,Survivor生存者。

那么我们可以理解为对象创建之后,在经过GC之后会进入Survivor中。

为啥会有一个Eden两个Survivor呢?因为采用复制清理算法,很耗内存资源,如果有两块,是不是第一块survivor满之后,将它和Eden存活对象复制到另一块,清空第一块。是不是每次都有一块Survivor为空对吧,效率会比较高。

 

配置Eden还有Survivor比例?

-XX:SurvivorRatio=4 设置年轻代中Eden区与Survivor区的比值。表示2个Survivor区(JVM堆内存年轻代中默认有2个大小相等的Survivor区)与1个Eden区的比值为2:4,即1个Survivor区占整个年轻代大小的1/6

-Xmn年轻代大小