java内存模型之年轻代总结(一)
https://blog.****.net/weixin_38336658/article/details/86719305
这是jvm内存模型,有点简陋。最近面试,逐渐总结遗漏点
转自https://blog.****.net/qq_35181209/article/details/78033329
从这副图可以看出新生代由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年轻代大小