The embodiment of the present invention provides a resource object leak detection method and device. The method includes scanning the weak reference object queue, determining the target weak reference object, parsing the target weak reference object and obtaining corresponding metadata information. If the status information in the metadata information is not closed, the corresponding metadata information is determined according to the metadata information. The location information of the target resource object determines the leaked resource object according to the location information, realizes finding the unsuccessful resource object through the weak reference object, and achieves the accurate detection of resource leak.
【技术实现步骤摘要】
资源对象泄漏检测方法及装置
本专利技术涉及数据业务
,尤其涉及一种资源对象泄漏检测方法及装置。
技术介绍
在众多业务系统中,经常发生因资源对象(如数据库连接对象)未关闭导致业务系统反应慢甚至宕机的问题。故障一旦发生,定位极为复杂,严重影响生产系统的稳定运行。Java技术在众多web业务系统中扮演着举足轻重的角色,如何快速在Java虚拟机中定位资源泄漏对象的位置,成为一项极具富有挑战性的问题。该问题的难点在于,如何判断资源对象在垃圾回收后,该资源对象是否关闭,即资源对象在回收后,如何判断该对象有没有执行过close方法。在Java虚拟机中对象被回收后,该对象已经不存在,有没有执行过close方法,更是无从得知。
技术实现思路
本专利技术提供一种资源对象泄漏检测方法及装置,用于解决现有技术中无法在资源对象被回收不存在情况下进行泄漏检测的问题。第一方面,本专利技术提供一种资源对象泄漏检测方法,包括:对弱引用对象队列进行扫描,确定目标弱引用对象,对所述目标弱引用对象进行解析获得对应的元数据信息;若所述元数据信息中的状态信息为未关闭状态,则根据所述元数据信息确定对应的目标资源对象的位置信息,根据所述位置信息确定泄漏的资源对象。可选地,对所述目标弱引用对象进行解析获得对应的元数据信息,包括:对所述目标弱引用对象进行解析获得对应的成员变量,根据所述成员变量获得对应的元数据信息。可选地,所述目标弱引用对象为所述目标资源对象创建时所创建。可选地,所述元数据信息中的状态信息为所述目标资源对象在被执行关闭操作后更新后的状态信息。可选地,若所述元数据信息中的状态信息为关闭状态, ...
【技术保护点】
1.一种资源对象泄漏检测方法,其特征在于,包括:对弱引用对象队列进行扫描,确定目标弱引用对象,对所述目标弱引用对象进行解析获得对应的元数据信息;若所述元数据信息中的状态信息为未关闭状态,则根据所述元数据信息确定对应的目标资源对象的位置信息,根据所述位置信息确定泄漏的资源对象。
【技术特征摘要】
1.一种资源对象泄漏检测方法,其特征在于,包括:对弱引用对象队列进行扫描,确定目标弱引用对象,对所述目标弱引用对象进行解析获得对应的元数据信息;若所述元数据信息中的状态信息为未关闭状态,则根据所述元数据信息确定对应的目标资源对象的位置信息,根据所述位置信息确定泄漏的资源对象。2.根据权利要求1所述的方法,其特征在于,对所述目标弱引用对象进行解析获得对应的元数据信息,包括:对所述目标弱引用对象进行解析获得对应的成员变量,根据所述成员变量获得对应的元数据信息。3.根据权利要求2所述的方法,其特征在于,所述目标弱引用对象为所述目标资源对象创建时所创建。4.根据权利要求1所述的方法,其特征在于,所述元数据信息中的状态信息为所述目标资源对象在被执行关闭操作后更新后的状态信息。5.根据权利要求1所述的方法,其特征在于,还包括:若所述元数据信息中的状态信息为关闭状态,则根据所述元数据信息确定对应的目标资源对象的位置信息,根据所述位置信息确定已回收的资源对象。6.一...
【专利技术属性】
技术研发人员:易存道,
申请(专利权)人:北京宝兰德软件股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。