一种管理对象的方法以及装置制造方法及图纸

技术编号:38821804 阅读:10 留言:0更新日期:2023-09-15 20:00
本申请提供了一种管理对象的方法以及装置,该方法包括:处理器根据正在运行的应用进程使用对象的情况,得到用于记录该对象的使用情况的第一标记;该处理器在确定执行垃圾回收时,根据该第一标记确定是否对该第一内存区域执行垃圾回收;当该处理器确定对该第一内存区域执行垃圾回收时,该处理器判断该第一内存区域中的对象是否被引用,并将被引用的对象移动至该内存中除该第一内存区域以外的内存区域;该处理器清除该第一内存区域中的对象,且处理器在移动对象时可以根据对象的冷热情况将对象移动至不同的内存区域。通过该方法保证了正在运行的应用进程使用的对象的局部性,提高了电子设备的运行速度。电子设备的运行速度。电子设备的运行速度。

【技术实现步骤摘要】
一种管理对象的方法以及装置


[0001]本申请实施例涉及计算机
,并且更加具体地涉及一种管理对象的方法以及装置。

技术介绍

[0002]合理的内存占用与释放是提高电子设备性能的关键。目前通常采用垃圾回收(Garbage Collection,GC)的方法来优化内存的占用,提高电子设备的运行速度。GC是一种自动的内存管理机制,其主要目的是发现内存中的无用的对象以及回收被无用对象占用的内存空间。但是在执行GC后,可能会导致缓存的命中率下降,从而影响了电子设备的性能,进而降低了用户体验。

技术实现思路

[0003]本申请实施例提供一种管理对象的方法以及装置,避免了在垃圾回收过程中对于对象局部性的破坏,从而可以提高电子设备的响应速度,增强用户体验。
[0004]第一方面,提供了一种管理对象的方法,该方法包括:处理器根据正在运行的应用进程使用对象的情况,得到用于记录该对象的使用情况的第一标记,其中该对象存储于内存中;该处理器在确定执行垃圾回收时,根据该第一标记确定是否对该第一内存区域执行垃圾回收,其中该第一内存区域为该内存中已划分的多个内存区域中的一个内存区域;当该处理器确定对该第一内存区域执行垃圾回收时,该处理器判断该第一内存区域中的对象是否被引用,并将被引用的对象移动至该内存中除该第一内存区域以外的内存区域;该处理器清除该第一内存区域中的对象。
[0005]本申请实施例中,处理器在执行垃圾回收时可以根据第一内存区域中正在运行的应用进程的对象使用情况,确定是否对第一内存区域执行垃圾回收,从而使得垃圾回收作用于对正在运行的应用进程影响小的内存区域,进而保证了正在运行的应用进程使用的对象的局部性,提高了电子设备的运行速度。
[0006]结合第一方面,在第一方面的某些实现方式中,该处理器根据正在运行的应用进程使用对象的情况,得到用于记录该对象的使用情况的第一标记,包括:该处理器根据上一轮垃圾回收后正在运行的应用进程使用对象的情况,得到用于记录该对象的使用情况的该第一标记。
[0007]结合第一方面,在第一方面的某些实现方式中,该第一标记还用于反映该对象的冷热情况,若该对象被该正在运行的应用进程使用,该对象为热对象;若该对象未被正在运行的应用进程使用,该对象为冷对象。
[0008]结合第一方面,在第一方面的某些实现方式中,该处理器在确定执行垃圾回收时,根据该第一标记确定是否对该第一内存区域执行垃圾回收,包括:该处理器根据该第一内存区域中的冷对象和/或热对象的数量确定是否对该第一内存区域执行垃圾回收。
[0009]本申请实施例中,可以根据冷对象和/或热对象的数量确定是否对第一内存区域
执行垃圾回收,从而使得垃圾回收作用于对正在运行的应用进程影响小的内存区域,进而保证了正在运行的应用进程使用的对象的局部性,提高了电子设备的运行速度。
[0010]结合第一方面,在第一方面的某些实现方式中,该第一内存区域中的热对象对应第一权重值,该第一内存区域中的冷对象对应第二权重值,该第一权重值不等于该第二权重值,该方法还包括:该处理器根据该第一权重值、该第二权重值、该第一内存区域中的热对象的数量和该第一内存区域中的冷对象的数量,确定该第一内存区域的权重值;该处理器在确定执行垃圾回收时,根据该第一标记确定是否对该第一内存区域执行垃圾回收,包括:该处理器根据该第一内存区域中的权重值确定是否对该第一内存区域执行垃圾回收。
[0011]本申请实施例中,可以根据第一内存区域的权重值确定是否对第一内存区域执行垃圾回收,从而使得垃圾回收作用于对正在运行的应用进程影响小的内存区域,进而保证了正在运行的应用进程使用的对象的局部性,提高了电子设备的运行速度。
[0012]结合第一方面,在第一方面的某些实现方式中,该第一内存区域中的热对象对应第一权重值,该第一内存区域中的冷对象对应第二权重值,该第一权重值不等于该第二权重值,该方法还包括:该处理器根据该第一权重值、该第二权重值、该第一内存区域中的热对象的数量、该第一内存区域中的冷对象的数量、该第一内存区域中的热对象的使用计数和该第一内存区域中的冷对象的使用计数,确定该第一内存区域的加权权重值;该处理器在确定执行垃圾回收时,根据该第一标记确定是否对该第一内存区域执行垃圾回收,包括:该处理器根据该第一内存区域中的加权权重值确定是否对该第一内存区域执行垃圾回收。
[0013]本申请实施例中,可以根据第一内存区域的加权权重值确定是否对第一内存区域执行垃圾回收,从而使得垃圾回收作用于对正在运行的应用进程影响小的内存区域,进而保证了正在运行的应用进程使用的对象的局部性,提高了电子设备的运行速度。
[0014]结合第一方面,在第一方面的某些实现方式中,该方法还包括:该处理器在确定执行垃圾回收集时,确定垃圾回收集,该垃圾回收集包括一个或多个内存区域,该处理器根据该第一标记确定是否对该第一内存区域执行垃圾回收,包括:该处理器在确定执行垃圾回收时,根据该第一标记确定是否将该第一内存区域加入该垃圾回收集。
[0015]本申请实施例中,处理器在选取垃圾回收集时,可以根据正在运行的应用进程的对象使用情况,选取对正在运行的应用进程影响小的内存区域(例如,冷对象较多的内存区域)作为垃圾回收集,尽量避免选取对正在运行的应用进程影响大的内存区域(例如,热对象较多的内存区域)作为垃圾回收集,从而使得垃圾回收作用于对正在运行的应用进程影响小的内存区域,进而保证了正在运行的应用进程使用的对象的局部性,提高了电子设备的运行速度。
[0016]结合第一方面,在第一方面的某些实现方式中,其特征在于,该处理器将被引用的对象移动至该内存中除该第一内存区域以外的内存区域,包括:该处理器根据该被引用的对象的冷热情况,将被引用的热对象和被引用的冷对象移动至该内存中除该第一内存区域以外的不同内存区域。
[0017]本申请实施例中,处理器根据活对象的冷热情况,将热对象和冷对象移动至不同的内存区域,将热对象聚集在一起,防止下一次垃圾收集时将包括热对象多的内存区域选为垃圾回收集,换句话说,使得热度值高的内存区域在经过垃圾回收后热度值变得更加高,进而进一步的提高了热对象的局部性和保证了热对象的局部性,提高了电子设备的运行速
度。
[0018]结合第一方面,在第一方面的某些实现方式中,该内存中已划分的多个内存区域包括第一类型的内存区域和第二类型的内存区域。
[0019]结合第一方面,在第一方面的某些实现方式中,该方法还包括:该处理器确定完成垃圾回收后,清理该第一标记。
[0020]结合第一方面,在第一方面的某些实现方式中,该处理器在确定执行垃圾回收时,包括:当满足预设条件时,该处理器确定执行垃圾回收。
[0021]结合第一方面,在第一方面的某些实现方式中,该预设条件为该内存的剩余空间小于第一阈值;或该内存的使用空间大于第二阈值。
[0022]结合第一方面,在第一方面的某些实现方式中,该处理器判断该第一内存区域中的对象是否被引用,包括该处本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种管理对象的方法,其特征在于,所述方法包括:处理器根据正在运行的应用进程使用对象的情况,得到用于记录所述对象的使用情况的第一标记,其中所述对象存储于内存中;所述处理器在确定执行垃圾回收时,根据所述第一标记确定是否对所述第一内存区域执行垃圾回收,其中所述第一内存区域为所述内存中已划分的多个内存区域中的一个内存区域;当所述处理器确定对所述第一内存区域执行垃圾回收时,所述处理器判断所述第一内存区域中的对象是否被引用,并将被引用的对象移动至所述内存中除所述第一内存区域以外的内存区域;所述处理器清除所述第一内存区域中的对象。2.根据权利要求1所述的方法,其特征在于,所述处理器根据正在运行的应用进程使用对象的情况,得到用于记录所述对象的使用情况的第一标记,包括:所述处理器根据上一轮垃圾回收后正在运行的应用进程使用对象的情况,得到用于记录所述对象的使用情况的所述第一标记。3.根据权利要求1或2所述的方法,其特征在于,所述第一标记还用于反映所述对象的冷热情况,若所述对象被所述正在运行的应用进程使用,所述对象为热对象;若所述对象未被正在运行的应用进程使用,所述对象为冷对象。4.根据权利要求3所述的方法,其特征在于,所述处理器在确定执行垃圾回收时,根据所述第一标记确定是否对所述第一内存区域执行垃圾回收,包括:所述处理器根据所述第一内存区域中的冷对象和/或热对象的数量确定是否对所述第一内存区域执行垃圾回收。5.根据权利要求3所述的方法,其特征在于,所述第一内存区域中的热对象对应第一权重值,所述第一内存区域中的冷对象对应第二权重值,所述第一权重值不等于所述第二权重值,所述方法还包括:所述处理器根据所述第一权重值、所述第二权重值、所述第一内存区域中的热对象的数量和所述第一内存区域中的冷对象的数量,确定所述第一内存区域的权重值;所述处理器在确定执行垃圾回收时,根据所述第一标记确定是否对所述第一内存区域执行垃圾回收,包括:所述处理器根据所述第一内存区域中的权重值确定是否对所述第一内存区域执行垃圾回收。6.根据权利要求3所述的方法,其特征在于,所述第一内存区域中的热对象对应第一权重值,所述第一内存区域中的冷对象对应第二权重值,所述第一权重值不等于所述第二权重值,所述方法还包括:所述处理器根据所述第一权重值、所述第二权重值、所述第一内存区域中的热对象的数量、所述第一内存区域中的冷对象的数量、所述第一内存区域中的热对象的使用计数和所述第一内存区域中的冷对象的使用计数,确定所述第一内存区域的加权权重值;所述处理器在确定执行垃圾回收时,根据所述第一标记确定是否对所述第...

【专利技术属性】
技术研发人员:李锦程郑家欢王耀峰彭彪郝拓洪涛李忆明
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1