[发明专利]用于内存访问事件的处理方法和系统有效
申请号: | 200810174632.4 | 申请日: | 2008-10-31 |
公开(公告)号: | CN101727355A | 公开(公告)日: | 2010-06-09 |
发明(设计)人: | 齐尧 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 于静;李峥 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 内存 访问 事件 处理 方法 系统 | ||
1.一种内存访问事件的处理方法,包括:
执行一扩展后的程序,该扩展后的程序包括插入的内存跟踪代码以便跟踪 多个对象的内存访问事件;
为所述被跟踪的多个对象的每一个分别分配一唯一的标识符;
为所述被跟踪的多个对象的每一个分别建立一个弱引用,其中为该弱引用 的标识符与相应的被跟踪对象的标识符之间建立映射关系;
记录并存储所述被跟踪的多个对象的内存访问事件;
响应于接收到内存垃圾回收的通知,该通知包括一被回收对象的弱引用标 识符,根据该弱引用的标识符与相应的被跟踪对象的标识符之间的映射关系确 定该被回收的对象的标识符,并在存储的内存访问事件中查找该被回收的对象 的内存访问事件;以及
删除该被回收的对象的内存访问事件。
2.根据权利要求1所述的方法,其中进一步包括:对于被跟踪的一对象, 将该对象的弱引用与一引用队列绑定;响应于该对象被垃圾回收,将该对象的 弱引用放到该引用队列中;以及从该引用队列中读取该对象的弱引用标识符, 并将该弱引用标识符包括到垃圾回收通知中。
3.根据权利要求2所述的方法,其中进一步包括:从所述引用队列中删除 该弱引用标识符。
4.根据权利要求1所述的方法,其中一个对象可以被多个弱引用和多个强 引用同时引用,当一个对象没有被强引用引用时,才允许被垃圾回收。
5.根据权利要求1所述的方法,其中其它对象通过使用强引用来访问所述 被跟踪的对象。
6.根据权利要求1所述的方法,其中在所述删除该被回收的对象的内存访 问事件之前还包括:
实时分析该被回收的对象的内存访问事件。
7.根据权利要求6所述的方法,其中所述实时分析该被回收的对象的内存 访问事件进一步配置为:响应于接收到内存垃圾回收的通知,在程序运行时, 分析被垃圾回收的对象的内存访问事件。
8.根据权利要求6所述的方法,其中所述实时分析该被回收的对象的内存 访问事件进一步配置为:响应于记录并存储被跟踪的多个对象的内存访问事件, 对所述多个对象的内存访问事件进行实时分析。
9.根据权利要求6所述的方法,其中分析该被回收的对象的内存访问事件 包括进行数据争用分析、内存泄漏分析或内存溢出分析。
10.根据权利要求1所述的方法,其中该弱引用的标识符与相应的被跟踪 对象的标识符相同,所述程序为面向对象的程序。
11.一种内存访问事件的处理系统,包括:
执行装置,用于执行一扩展后的程序,该扩展后的程序包括插入的内存跟 踪代码以便跟踪多个对象的内存访问事件;
标识符分配装置,用于为被跟踪的多个对象的每一个分别分配一唯一的标 识符;
弱引用创建装置,用于为所述被跟踪的多个对象的每一个分别建立一个弱 引用,其中为该弱引用的标识符与相应的被跟踪对象的标识符之间建立映射关 系;
记录装置,用于记录并存储所述被跟踪的多个对象的内存访问事件;
查找装置,响应于接收到内存垃圾回收的通知,该通知包括一被回收对象 的弱引用标识符,根据该弱引用的标识符与相应的被跟踪对象的标识符之间的 映射关系确定该被回收的对象的标识符,并在存储的内存访问事件中查找该被 回收的对象的内存访问事件;和
删除装置,用于删除该被回收的对象的内存访问事件。
12.根据权利要求11所述的系统,其中进一步包括弱引用标识符处理装置, 其配置为:对于被跟踪的一对象,将该对象的弱引用与一引用队列绑定;响应 于该对象被垃圾回收时,将该对象的弱引用放到该引用队列中;从该引用队列 中读取该对象的弱引用标识符,并将该弱引用标识符包括到垃圾回收通知中。
13.根据权利要求12所述的系统,其中弱引用标识符处理装置进一步配置 为:从该引用队列中读取该对象的弱引用标识符之后,从所述引用队列中删除 该弱引用标识符。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810174632.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:开关机测试方法及开关机测试系统
- 下一篇:一种图形用户界面的实现方法