[发明专利]内存管理方法、装置、服务器及存储介质有效
申请号: | 201811519134.9 | 申请日: | 2018-12-12 |
公开(公告)号: | CN109582595B | 公开(公告)日: | 2021-08-17 |
发明(设计)人: | 刘静;郭琰 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 管理 方法 装置 服务器 存储 介质 | ||
本发明公开了一种内存管理方法、装置、服务器及存储介质。该方法包括:遍历数据库系统对应的内存区域,所述内存区域用于存储所述数据库系统中会话中的实例化对象,检测到所述数据库系统空闲且所述内存区域中的实例化对象不在对应会话的包中,则释放对应的实例化对象占用的内存空间。上述技术方案仅在数据库系统空闲时,对实例化对象的引用进行统计,当数据库系统空闲且实例对象不在对应会话的包中时,将这部分实例化对象占用的内存空间进行释放,无需每个时段都进行实例化对象的统计,减轻了系统运行的负担。
技术领域
本发明实施例涉及计算机数据技术领域,尤其涉及一种内存管理方法、装置、服务器及存储介质。
背景技术
类和对象是两种以计算机为载体的计算机语言的合称。类是对现实生活中一类具有共同特征的事物的抽象,是面向对象程序设计实现信息封装的基础,类是对象的抽象,在Java中通常采用关键字class声明类。对象是具有类类型的变量,是类的实例,类的实例化即创建一个对象。
类的实例化对象存储在内存中,即占用一定的内存空间。传统的类的实例化对象的内存管理方法是通过实例化对象的引用计数进行的,即当一个实例化对象被引用一次时,引用计数加1,当它的一个引用失效时,引用计数减1,当引用计数减为0时,该实例化对象占用的内存可被释放。这种方法在每个时段都对实例化对象进行统计,每个实例化对象的每一次引用都要计算引用计数值,增加了程序的复杂度以及系统运行的负担。
发明内容
本发明实施例提供一种内存管理方法、装置、服务器及存储介质,仅在系统空闲时对实例化对象的引用进行统计与内存的释放,减轻系统负担。
第一方面,本发明实施例提供一种内存管理方法,包括:
遍历数据库系统对应的内存区域,所述内存区域用于存储所述数据库系统中会话中的实例化对象;
检测到所述数据库系统空闲且所述内存区域中的实例化对象不在对应会话的包中,则释放对应的实例化对象占用的内存空间。
第二方面,本发明实施例还提供一种内存管理装置,该装置包括:
遍历模块,用于遍历数据库系统对应的内存区域,所述内存区域用于存储所述数据库系统中会话中的实例化对象;
释放模块,用于检测到所述数据库系统空闲且所述内存区域中的实例化对象不在对应会话的包中,则释放对应的实例化对象占用的内存空间。
第三方面,本发明实施例还提供一种服务器,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的内存管理方法。
第四方面,本发明实施例还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的内存管理方法。
本发明实施例提供一种内存管理方法、装置、服务器及存储介质,通过遍历数据库系统对应的内存区域,所述内存区域用于存储所述数据库系统中会话中的实例化对象,检测到所述数据库系统空闲且所述内存区域中的实例化对象不在对应会话的包中,则释放对应的实例化对象占用的内存空间,仅在数据库系统空闲时,对实例化对象的引用进行统计,当数据库系统空闲且实例对象不在对应会话的包中时,将这部分实例化对象占用的内存空间进行释放,无需每个时段都进行实例化对象的统计,减轻了系统运行的负担。
附图说明
图1为本发明实施例一提供的一种内存管理方法的流程图;
图2为本发明实施例二提供的一种内存管理方法的流程图;
图3为内存空间释放的执行示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811519134.9/2.html,转载请声明来源钻瓜专利网。