回收垃圾之复制法

刚才浏览了这篇文章,http://www.importnew.com/26821.html,了解了垃圾回收的一些方法。

我发现其中的复制法有非常聪明的地方,就是能方便的重新排序,为了不再需要对空间进行划分,我认为有两种改进方法:

前后移动法。从后到前的把数据移动到空间尾部,记录最后的数据的位置,也就是新的起始内存,这样移动后的空间是连续的,然后把未来的数据从空间前端写入,下次回收垃圾则以数据前端的前一个位置作为起点来从后到前的递次移动数据,这时数据的末端应该是数据前端前一个最近的位置。这只是要求记录一下移动后数据的前端、后端位置,以及处理数据达到空间末端时能转移到空间前端的问题。

不推荐的方法:倒置读写法。这要求能够对内存进行倒序的读取、写入的功能支持。只要从数据末端开始,从后到前的移动到空间末端,然后进行倒序的读取、写入空间内存,下一次回收垃圾则反过来。为了实现这一点可能需要创建一个对内存分配的管理器,时常记录位置来实现倒序分配空间,而在顺序时又不需要这么做,不平等并且需要额外增加功能,所以不推荐。

转载于:https://www.cnblogs.com/shiningWish/p/8336830.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值