采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
翔仔老师好,我这里不是很明白,对象存活率高不是意味着每次要移动整理的对象也越多吗,这样效率不是比较低吗?
为什么不是适用于对象存活率低的场景,这样只需要移动少量存活对象,再清除剩余区域就能实现垃圾回收?
同学好,实际执行的过程中,标记整理中是标记的要清理的对象,对象存活率高意味着需要清理的对象少而不是多
但是翔仔老师,存活对象多不是移动操作多吗? 移动的开销比清理对象要低很多吗?
同学好,不是呢,我意思是说标记的主要是标记被清除的对象,存活的对象多的话意味着被清除的对象少,也就是标记出来被整理的对象就少,所以开销就比较小
我知道清除被标记的对象是少了,但是整理存活对象的开销是怎么考虑的呢。。。。老师你始终没回答这个点呀。我很不理解的是, 复制算法和标记整理算法,不都是移动存活对象,然后清除剩余区域吗?为什么就一个适用存活率低,一个适用存活率高呢?还是我对标记整理算法的工作原理理解有误呢?标记整理算法我的理解是把存活的对象都移动到一端,然后清除剩余的对象。
登录后可查看更多问答,登录/注册
招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航
1.7k 27
2.7k 22
1.2k 15
1.4k 14
1.3k 14