[发明专利]一种基于生命期预测的内存分配和垃圾收集方法在审
申请号: | 201410247496.2 | 申请日: | 2014-06-04 |
公开(公告)号: | CN104035879A | 公开(公告)日: | 2014-09-10 |
发明(设计)人: | 白瑞林;张涛 | 申请(专利权)人: | 江南大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 214122 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 生命 预测 内存 分配 垃圾 收集 方法 | ||
1.本发明的目的在于提供一种基于生命期预测的内存分配和垃圾收集方法,其特征在于:
(1)一种对象生命期预测方式,进而选择对象分配区域;
(2)一种内存区域划分方式,年幼区内存分配和垃圾收集并行执行的原则;
(3)一种年长区lazy-buddy和mark-sweep结合的内存分配和垃圾收集的方式。
2.根据权利要求1所述一种基于生命期预测的内存分配和垃圾收集方法,其特征在于,(1)所述的对象生命期预测方式,预测步骤如下:
计算在第i和i-1次垃圾收集期间,由同一类C所产生的对象存活字节数总和以及在此期间类C所分配对象字节数总和的比率ric:
计算近4次垃圾收集后的平均成活率rc:
比较rc与阈值t关系,若rc<t,则对应变量pc值为0,类C为非长寿类;若rc≥t,则对应pc值为1,类C为长寿类。
3.根据权利要求书1所述一种基于生命期预测的内存分配和垃圾收集方法,其特征在于,(1)所述的对象分配区域选择,根据其来源类的的P值所定,若P值为0,对象分配到年幼区,若P值为1,对象分配到年长区。
4.根据权利要求书1所述的一种基于生命期预测的内存分配和垃圾收集方法,其特征在于,(2)所述的一种内存区域划分方式为:整个堆内存首先划分为年长区和年幼区两个区域,年幼区再细分为三个等大小区域。
5.根据权利要求书1所述的一种内存分配和垃圾收集方法,其特征在于,(2)所述的年幼区内存分配和垃圾收集并行执行的原则如下:
对象依次在年幼区三个区域上进行内存分配,在其中两块内存空间不足时,继续在第三块区域进行内存分配,同时,在前两块区域中进行垃圾收集,保证内存分配和垃圾收集的同时执行。
6.根据权利要求书1所述的一种基于生命期预测的内存分配和垃圾收集方法,其特征在于,(3)所述的年长区内存分配和回收方式,其工作步骤如下:
(a)内存分配:按照lazy-buddy原则,对年长区进行内存分割,相同大小的内存块由同一个链表统一维护;
(b)垃圾收集:采用mark-sweep模式,遍历根集,标记有效区域,清除无效区域,回收内存;
(c)内存整理:若某一链表空闲数量太多,超出预设值L,则合并此链表内成buddy关系的内存块,将其空闲数量控制在L范围内。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江南大学,未经江南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410247496.2/1.html,转载请声明来源钻瓜专利网。