JVM面试题求助

JVM中为什么要有eden区?只有两块大小相等的survivor区域不行吗?
#字节跳动秋招提前批##面试题目#
全部评论
不行,你需要考虑一下gc,设想一下如果只有一次gc,那么两块区域完全够了。1满了,gc标记将存活的放到2里面;但是第二次gc怎么办,第二次gc不仅需要标记1还需要标记2中的存活元素,那这两部分的存活元素放到哪? 当然,上面的一种情况可以有一种解决方案,那就是别用复制算法而使用标记清楚算法,但是这样的话就不符合新生放置对象的特性了,新生本来就是生命周期比较短的,标记清楚效率比较低。 所以综合衡量性能以及使用的场景上必须要有eden
1 回复
分享
发布于 2021-08-26 19:45
eden区和survivor区的空间比是8:1,也就是说,百分之十的空间会浪费,如果去掉eden区,浪费的空间将达到百分之五十
点赞 回复
分享
发布于 2021-08-29 14:37
滴滴
校招火热招聘中
官网直投

相关推荐

点赞 2 评论
分享
牛客网
牛客企业服务