[发明专利]多阶段垃圾收集器有效
| 申请号: | 201880009634.X | 申请日: | 2018-01-25 | 
| 公开(公告)号: | CN110325969B | 公开(公告)日: | 2023-06-02 | 
| 发明(设计)人: | 张毛妮·史蒂芬斯;P·H·杜苏德 | 申请(专利权)人: | 微软技术许可有限责任公司 | 
| 主分类号: | G06F12/02 | 分类号: | G06F12/02 | 
| 代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 赵林琳 | 
| 地址: | 美国华*** | 国省代码: | 暂无信息 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 阶段 垃圾 收集 | ||
公开了一种与垃圾收集器一起使用以提供不同的垃圾收集的方法。该垃圾收集是在计算设备中与转化器线程并发运行的专用线程中提供的并发垃圾收集。在垃圾收集之后,根据空闲空间量,从包括堆大小增长阶段和堆大小稳定阶段的多个堆大小阶段确定堆大小阶段。响应于堆大小阶段是堆大小稳定阶段而应用堆稳定垃圾收集。响应于堆大小阶段是堆大小增长阶段而应用堆增长垃圾收集。
背景技术
垃圾收集是计算系统中的自动存储器管理的一种形式。垃圾收集器尝试检测不再被计算机系统上的软件应用或程序使用的对象,并恢复由不再被计算系统上运行的软件应用或程序使用的对象占用的存储器。在一个示例中,垃圾收集可以与手动存储器管理形成对比,在手动存储器管理中,程序员指定要解除分配并且返回到存储器系统的对象。存储器管理(包括垃圾收集)可以影响在计算设备上运行的软件应用的性能。
许多编程语言包括垃圾收集。在一些编程语言中,垃圾收集可以作为语言规范(诸如C#、Java、D、Go和许多脚本语言)的一部分而被包括。另外,一些语言(诸如C和C++)被设计成用于手动存储器管理,但是包括垃圾收集实施方式。另外,一些语言(诸如针对公共语言体系的C++(C++/CLI))通过对收集的对象和手动管理的对象使用分离的存储器段,允许垃圾收集和手动存储器管理在同一应用中共存。垃圾收集通常被集成到语言编译器和运行时的系统中。
发明内容
提供本发明内容是为了以简化的形式介绍一些构思,这些构思将在下面的描述中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
公开了基于多个堆大小阶段中的一个堆大小阶段的用于不同的垃圾收集的系统和方法。在一个示例中,该多个垃圾收集是在计算设备中与转化器(mutator)线程并发运行的专用线程中提供的并发垃圾收集。在垃圾收集之后,根据空闲空间量,从包括堆大小增长阶段和堆大小稳定阶段的多个堆大小阶段确定堆大小阶段。响应于堆大小阶段是堆大小稳定阶段而应用堆稳定垃圾收集。响应于堆大小阶段是堆大小增长阶段而应用堆增长垃圾收集。在一个示例中,堆稳定垃圾收集和堆增长垃圾收集可以包括不同的垃圾收集目标、调整参数、机制或合适的其他区别。
附图说明
包括附图以提供对实施例的进一步理解并且被并入并且构成本公开的一部分。附图图示了实施例并且与描述一起用于解释实施例的原理。其他实施例和实施例的很多预期优点将容易理解,因为它们通过参考以下描述变得更好理解。附图的要素不一定相对于彼此成比例。相同的附图标记指定对应的类似部件。
图1是图示计算设备的示例的框图,该计算设备可以被配置在计算机网络中以提供例如云计算环境。
图2是图示用于在图1的计算设备中执行的示例应用框架的框图。
图3是图示图2的垃圾收集器的示例方法的框图。
图4是图示根据图3的方法的图2的垃圾收集器的示例方法的框图。
图5是图示根据图4的方法的示例方法的框图。
图6是图示图3的方法的示例特征的流程图。
具体实施方式
在以下描述中参考附图,这些附图构成本文的一部分,并且附图中通过图示的方式示出了其中可以实施本发明的特定实施例。应当理解的是,可以利用其他实施例并且可以在不脱离本发明的范围的情况下进行结构或逻辑上的改变。因此,以下描述不应当被视为具有限制意义。应当理解,除非另外具体指出,本文所述的各种示例性实施例的特征可以彼此组合。
图1图示了一种示例性计算机系统,该示例性计算机系统可以在操作环境中使用并且用于托管或运行被包括在一个或多个计算机可读存储介质上的计算机应用,这些计算机可读存储介质存储用于控制诸如计算设备的计算机系统以执行进程的计算机可执行指令。计算机实施的进程的示例包括并发垃圾收集,其可以被存储在计算机存储器中并且利用处理器执行以应用与多个堆大小阶段对应的多个垃圾收集参数中的一个。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880009634.X/2.html,转载请声明来源钻瓜专利网。





