[发明专利]一种变量回收方法及装置有效
申请号: | 201710432600.9 | 申请日: | 2017-06-09 |
公开(公告)号: | CN107168764B | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 马玄玄 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 变量 回收 方法 装置 | ||
本发明公开了一种变量回收方法及装置,方法包括:在对变量声明时,对所述变量赋予标识,所述标识指示所述变量被回收的条件;在程序运行中,当满足所述变量被回收的条件时,将所述变量回收,从内存中移除。本发明变量回收方法及装置,通过给变量赋予标识,标识指示变量应该被回收时要满足的条件,在程序运行中当满足标识指示的条件时则将变量回收,从而能够及时地将变量回收,及时地将不需要存放在内存中的变量从内存中移除,可克服现有方法对变量回收不及时的缺陷。
技术领域
本发明涉及计算机技术领域,特别是涉及一种变量回收方法及装置。
背景技术
在软件开发过程中,我们通常会定义一些变量来完成功能的实现,而这些变量在运行过程中要存在内存中。如果没有垃圾回收机制,则随着运行时间的延长,内存就会被消耗殆尽,会影响应用程序的运行,比如对于浏览器会出现卡顿现象,出现崩溃。
为解决上述问题,各类编程语言有独特的或者共同的垃圾回收机制。目前,浏览器端的语言主要有两种变量回收方式,一种是标记清除,即在变量声明时,标记其所在的环境变量,离开环境则回收该变量。第二种为引用计数,即跟踪记录每个值被使用的次数,当声明一个变量,毎次将一个引用类型赋值给该变量时,这个值的引用次数就加一,如果该变量的值成为另外一个,则这个值的引用次数减一,当这个值的引用次数变为零时,则将其占用的空间回收。但这两种回收方式都存在对变量回收不及时的弊端。
发明内容
本发明的目的是提供一种变量回收方法及装置。能够及时地将变量回收,克服了现有技术的弊端。
为实现上述目的,本发明提供如下技术方案:
一种变量回收方法,包括:
在对变量声明时,对所述变量赋予标识,所述标识指示所述变量被回收的条件;
在程序运行中,当满足所述变量被回收的条件时,将所述变量回收,从内存中移除。
可选地,所述变量被回收的条件为所述变量被回收的时刻;
所述在程序运行中,当满足所述变量被回收的条件时,将所述变量回收包括:
在程序运行中,当到达所述标识指示的时刻时,将所述变量回收。
可选地,所述变量被回收的条件为所述变量在预设位置被引用;
所述在程序运行中,当满足所述变量被回收的条件时,将所述变量回收包括:
在程序运行中,当所述变量在所述预设位置被引用后,将所述变量回收。
可选地,在所述在对变量声明时,对所述变量赋予标识之前还包括:
根据所述变量,为所述变量设计用于指示所述变量被回收的条件的所述标识。
可选地,所述程序为浏览器应用程序。
一种变量回收装置,包括:
标识模块,用于在对变量声明时,对所述变量赋予标识,所述标识指示所述变量被回收的条件;
回收模块,用于在程序运行中,当满足所述变量被回收的条件时,将所述变量回收,从内存中移除。
可选地,所述变量被回收的条件为所述变量被回收的时刻;
所述回收模块用于在程序运行中,当满足所述变量被回收的条件时,将所述变量回收包括:
所述回收模块具体用于在程序运行中,当到达所述标识指示的时刻时,将所述变量回收。
可选地,所述变量被回收的条件为所述变量在预设位置被引用;
所述回收模块用于在程序运行中,当满足所述变量被回收的条件时,将所述变量回收包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710432600.9/2.html,转载请声明来源钻瓜专利网。