欢迎来到利索能及~ 联系电话:18621327849
利索能及
我要发布
收藏
专利号: 2018102124204
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-10-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种提高string字符串存储效率的方法,其特征在于:所述方法包括以下步骤:S1、定义结构体,用于保存并处理string对象的数据;

S2、调用字符串分类函数,将S1中处理后的string对象数据按照字节大小分类,得到string对象各类别;

S3、将步骤S2中得到的各类别进行对应内存处理。

2.根据权利要求1所述一种提高string字符串存储效率的方法,其特征在于:所述步骤S1中,所述结构体包括data字段、size字段、capacity字段,其中:data字段为string对象数据;

size字段为string对象的大小;

capacity字段为string对象的容量大小。

3.根据权利要求1所述一种提高string字符串存储效率的方法,其特征在于:所述步骤S2中,所述string对象数据类别包括字节数小于第一预设数值、字节数为第二预设数值与第三预设数值之间以及字节数大于第三预设数值,其中,第一预设数值小于第二预设数值,第二预设数值小于第三预设数值,其中:S21、字节数小于第一预设数值时,string对象数据直接放置于string对象内部,将内存分配至栈上;

S22、字节数为第二预设数值与第三预设数值之间时,申请新的内存,动态内存分配函数分配堆内存,根据S1中定义的结构体保存string对象数据;

S23、字节数大于第三预设数值时,用引用计数,对string对象数据进行拷贝和处理。

4.根据权利要求3所述一种提高string字符串存储效率的方法,其特征在于:所述步骤S23,包括以下步骤:S231、调用创建引用计数函数为每个string对象数据创建引用计数;

S232、当string对象数据进行赋值操作时,调用增加引用计数函数将S231中创建的引用计数加1;

S233、当不再使用string对象数据时,调用释放引用计数函数将引用计数减1;

S234、当引用计数为0时,自动删除string对象的内存。

5.一种提高string字符串存储效率的装置,其特征在于:所述装置包括:定义模块,用于定义结构体,用于保存并处理string对象的数据;

分类模块,用于调用字符串分类函数,将定义模块中处理后的string对象数据按照字节大小分类,得到string对象各模块;

处理模块,将分类模块得到的各模块进行对应内存处理。

6.根据权利要求5所述一种提高string字符串存储效率的装置,其特征在于:所述定义模块中的结构体包括data字段、size字段、capacity字段,其中:data字段为string对象的数据;

size字段为string对象的大小;

capacity字段为string对象的容量大小。

7.根据权利要求5所述一种提高string字符串存储效率的装置,其特征在于:所述分类模块中,包括第一存储模块、第二存储模块以及第三存储模块,其中:第一存储模块,字节数小于第一预设数值时,直接放置于string对象内部,将内存分配至栈上;

第二存储模块,字节数为第二预设数值与第三预设数值之间时,申请新的内存,动态内存分配函数分配堆内存,根据定义模块中定义的结构体保存string对象数据;

第三存储模块,字节数大于第三预设数值时,用引用计数,对内存拷贝并进行处理。

8.根据权利要求7所述一种提高string字符串存储效率的装置,其特征在于:所述第三存储模块中,包括以下模块:创建模块,调用创建引用计数函数为每个string对象创建引用计数;

赋值模块,当string对象产生赋值操作时,调用增加引用计数函数将创建模块中创建的引用计数加1,当不再使用string对象时,调用释放引用计数函数将引用计数减1;

删除模块,当引用计数为0时,自动删除string对象的内存。

9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述提高string字符串存储效率的方法的步骤。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述提高string字符串存储效率的方法的步骤。