电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

标记清扫回收器演示VIP专享VIP免费

标记清扫回收器演示_第1页
标记清扫回收器演示_第2页
标记清扫回收器演示_第3页
标记-清扫回收器(编译原理课程展示)湖南大学软件工程陈沅陇基本的标记-清扫式回收器标记-清扫式垃圾回收器是一种直接的全面停顿算法。它们找出所有不可达的对象,并将它们放入空闲列表Free。清扫过程分为标记阶段和清扫阶段。/*标记阶段*//*把根集所引用的对象reached位设置为1,并加入Unscanned集合中*/while(Unscanned!=){∅从Unscanned列表中删除某个对象o;for(在o中引用的每个对象o’){if(o’的reached位为0,即未被访问){将o’的reached为设置为1;将o’放到unscaned中;}}}/*清扫阶段*/free=;∅for(堆区的每个内存块o){if(o未访问到,即它的reached为0)将o加入到Free中;else将o的reached位设置为0;}基本的标记-清扫式回收器堆区o1o2o3o4o5o6o7o8o9UnscannedFree/*标记阶段*//*把根集所引用的对象reached位设置为1,并加入Unscanned集合中*/while(Unscanned!=){∅从Unscanned列表中删除某个对象o;for(在o中引用的每个对象o’){if(o’的reached位为0,即未被访问){将o’的reached为设置为1;将o’放到unscaned中;}}}/*清扫阶段*/free=;∅for(堆区的每个内存块o){if(o未访问到,即它的reached为0)将o加入到Free中;else将o的reached位设置为0;}跳转到清扫后基本的标记-清扫式回收器堆区o1o2o3o4o5o6o7o8o9UnscannedFree/*标记阶段*//*把根集所引用的对象reached位设置为1,并加入Unscanned集合中*/while(Unscanned!=){∅从Unscanned列表中删除某个对象o;for(在o中引用的每个对象o’){if(o’的reached位为0,即未被访问){将o’的reached为设置为1;将o’放到unscaned中;}}}/*清扫阶段*/free=;∅for(堆区的每个内存块o){if(o未访问到,即它的reached为0)将o加入到Free中;else将o的reached位设置为0;}o1.r=1o4.r=1基本的标记-清扫式回收器o1o2o3o4o5o6o7o8o9UnscannedFree/*标记阶段*//*把根集所引用的对象reached位设置为1,并加入Unscanned集合中*/while(Unscanned!=){∅从Unscanned列表中删除某个对象o;for(在o中引用的每个对象o’){if(o’的reached位为0,即未被访问){将o’的reached为设置为1;将o’放到unscaned中;}}}/*清扫阶段*/free=;∅for(堆区的每个内存块o){if(o未访问到,即它的reached为0)将o加入到Free中;else将o的reached位设置为0;}deleteo1.r=1o4.r=1堆区基本的标记-清扫式回收器o1o2o3o4o5o6o7o8o9UnscannedFree/*标记阶段*//*把根集所引用的对象reached位设置为1,并加入Unscanned集合中*/while(Unscanned!=){∅从Unscanned列表中删除某个对象o;for(在o中引用的每个对象o’){if(o’的reached位为0,即未被访问){将o’的reached为设置为1;将o’放到unscaned中;}}}/*清扫阶段*/free=;∅for(堆区的每个内存块o){if(o未访问到,即它的reached为0)将o加入到Free中;else将o的reached位设置为0;}deleteo1.r=1o4.r=1堆区o3.r=1o8.r=1基本的标记-清扫式回收器o2o3o4o5o6o7o8o9UnscannedFree/*标记阶段*//*把根集所引用的对象reached位设置为1,并加入Unscanned集合中*/while(Unscanned!=){∅从Unscanned列表中删除某个对象o;for(在o中引用的每个对象o’){if(o’的reached位为0,即未被访问){将o’的reached为设置为1;将o’放到unscaned中;}}}/*清扫阶段*/free=;∅for(堆区的每个内存块o){if(o未访问到,即它的reached为0)将o加入到Free中;else将o的reached位设置为0;}deleteo1.r=1o4.r=1o3.r=1o8.r=1堆区基本的标记-清扫式回收器o2o3o4o5o6o7o8o9UnscannedFree/*标记阶段*//*把根集所引用的对象reached位设置为1,并加入Unscanned集合中*/while(Unscanned!=){∅从Unscanned列表中删除某个对象o;for(在o中引用的每个对象o’){if(o’的reached位为0,即未被访问){将o’的reached为设置为1;将o’放到unscaned中;}}}/*清扫阶段*/free=;∅for(堆区的每个内存块o){if(o未访问到,即它的reached为0)将o加入到Free中;else将o的reached位设置为0;}deleteo1.r=1o4.r=1o3.r=1o8.r=1堆区o7.r=1o6.r=1基本的标记-清扫式回收器o2o5o9UnscannedFree/*标记阶段*//*把根集所引用的对象reached位设置为1,并加入Unscanned集合中*/while(Unscanned!=){∅从Unscanned列表中删除某个对象o;f...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部