请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么新生代不用标记-整理算法?

老师,为啥新生代要使用复制算法,不使用标记-整理算法呢?标记-整理算法对存活率低的场景应该也是适用的吧?感觉标记-整理算法跟复制算法差不多,只是副本要保存到新的一块堆空间而已。

正在回答

1回答

同学好,新生代一般内存空间都比较小,里面存活的对象大都是朝生夕死的,采用标记-整理的话还需要stop the world,而复制比较简单,只是冗余了一小块内存空间


1 回复 有任何疑惑可以回复我~
  • 提问者 炫德基 #1
    老师,我想了一下,您看是不是这样的。
    因为新生代存活的对象少,需要回收的对象很多,一个一个清理速度比较慢。而复制算法直接把少量存活的对象复制一份,然后一个区整体直接清空,会比较快。而老年代因为存活率高,需要回收的对象少,一个一个清空也会比较快。
    两个算法的思路其实是一样的,就是挑少的做。新生代的存活的对象少,就复制存活的对象。而老年代需要回收的对象少,就清理需要回收的对象。
    回复 有任何疑惑可以回复我~ 2019-11-14 10:12:39
  • 提问者 炫德基 #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-11-14 18:50:52
  • 翔仔 回复 提问者 炫德基 #3
    同学好,可以这么理解哈
    回复 有任何疑惑可以回复我~ 2019-11-15 00:07:29
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信