与标记-清除算法相比,复制算法是一种相对高效的回收算法。

不适合于存活对象较多的场合 如老年代。

思想:将原有的内存空间分为两块,每次只使用其中的一块,在垃圾回收时候,将正在使用的内存中的存活对象复制到为未使用的内存中,清除正在使用的内存块中的所有对象,交换两个内存的角色,完成垃圾回收。


复制算法

复制算法完成后,第一块使用的那块内存完成清除,不管它存活还是未存活。都将它清理。


复制算法


复制算法对空间有一定的浪费。只能使用一半的空间。


为了更好的利用复制算法 做一些扩展

复制算法



复制算法 需要有担保空间(老年代), 可以去承接大对象,这样复制空间可以很小。

1 大对象尽量不要往复制空间里面去放

2 大对象如果放到复制空间,这样可能造成一些小对象放到了老年代,不太合理。


复制算法

复制算法



浪费掉掉空间,就是from 和 to  的复制空间

复制算法



相关文章:

  • 2021-06-20
  • 2022-01-05
  • 2021-06-15
  • 2022-01-26
  • 2022-01-09
  • 2021-10-06
  • 2021-12-16
  • 2022-01-08
猜你喜欢
  • 2022-12-23
  • 2021-07-14
  • 2021-06-08
  • 2021-08-25
  • 2021-10-07
  • 2022-12-23
  • 2022-01-18
相关资源
相似解决方案