JVM面试题求助

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

相关推荐

不愿透露姓名的神秘牛友
昨天 17:17
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:11
点赞 评论 收藏
分享
弦五Strings:他之所以会举报你代课是因为在这种人眼里正常上课就是正义代课就是邪恶,典型二极管思维,处理方法就是私下沟通,你就说你自己家里经济困难或者家里父母生病什么之类的,需要去打工挣钱,用尽孝的正义对冲他认为的上课的正义,他可能就妥协了。
我的实习日记
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务