牛客389857060号 level
获赞
8
粉丝
1
关注
0
看过 TA
1
北京邮电大学
2021
Java
IP属地:北京
暂未填写个人简介
私信
关注
2020-08-18 20:04
已编辑
北京邮电大学 Java
开始被问蠢了: java gc 为什么新生代不用标记整理算法,为什么标记复制算法 我一想这不是送分题嘛, 回答:新生代要清除的对象多,标记整理清除对象产生大量碎片之后还要整理,标记复制将存活对象复制到s2,将s1整个清除掉,速度快 又问我为什么标记复制比标记整理块? 回答:标记整理每一个存活对象都要向一端移动,标记复制要将对象一个个复制到s2区,在一次整理整个s1区 面试官说这个对象移动和一次整理s1区应该消耗时间一样,你再想想为什么新生代要用标记复制。提示一下,软件都是空间和时间的妥协来达到最好的效果。 僵了一会。。回答:标记复制需要有一块内...
DeadCrow:看了下评论,我来讲点书上的吧。标记复制是将标记的内容复制到空余的survivor区,然后清楚eden和在用的s区。标记整理是将标记的移动到一段,重点来了,同时没有标记的先不清楚,而是移动到后面,最后清楚标记的边界以外的内存。因此标记整理的过程中也涉及到对需要回收对象的复制,而新生代的需要回收的对象比较多,因此慢。再总结一下,就是标记复制只涉及到存活对象的复制,标记整理不管存活不存活都复制。 那有人可能要问了,那为啥要标记整理嘛,啥用没有。一是与新生代不同,老年代用标记整理比较友好,而是不需要多用空间(空闲的s区)
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务