<b>操纵OptimizeIT举行Java内存泄露的检测</b>[Java编程]
本文“<b>操纵OptimizeIT举行Java内存泄露的检测</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
java程序也会惹起内存泄露已经是公开的奥秘了,工作中需求对该问题惹起充分的器重.
市场上可以举行java内存检测的工具也有不少,我在工作中利用JBuilder自带的Optimize工具,现就近来一次利用Optimize的工程及经验举行以下梳理.
前一段时间按照需求,对工作中保护的某个模块举行了java内存泄露的测试,后果发现了很严重的问题:该模块一共有6大基本功效,每个功效每操作一次,大约要新损耗9-10k的内存空间,生成110个左右的新对象.作为商用软件产品是毫不答应这样的问题的呈现的.
OptimizeIT有整合进JBuilder版本,也有单独的版本,利用起来基本上都是一样的,它有4大功效,可以举行内存profile,cpu的profile,代码的覆盖率的查抄,以及threads debug等,可以对普通利用程序,jsp/servlet,以及服务器恳求等举行解析.别的的没有效过,这次主要利用内存profile,发现这个这个咚咚对比好用.(其实,borland出品的工具对比很好用的,但是borland IDE目前的处境真是让人揪心啊)
下面介绍怎样利用OptimizeIT工具举行内存泄露的检测和办理.
先说检测的思绪:程序运行从一种状况进经过运行返回到初始状况,中间历程会产生很多的对象,而这些中间产物终究是应当被清撤除,假如没有被完好排除,就阐明程序中有了内存泄露.换句话说,通过对比程序运行前后两种状况下堆内存中的对象的种类和数目的多少,可以判断出程序中有没有产生内存泄露.当终了时刻程序堆内存里面对象的种类和数目,比初始时刻多,基本便可以肯定程序中存在内存泄露了.
接着说这次利用OptimizeIT检测的历程.
1.首先利用JBuilder成立一个可运行的工程,再举行工程运行属性的配置的时刻可以同时举行OptimizeIT的配置,主如果挑选内存泄露选项(以及别的的可选项,不过很罕用).
2.点击工具栏上的Optimize按钮开始检测,该按钮位于程序运行按钮的右边,带有一个秒表的款式.
3.Optimize启动之后会展示几个Tab页视图,我们主要关心内存视图.
4.默许的在内存视图中显示的是堆内存视图,通过在该试图下方输入过滤条件,在该视图的中部,可以得到我们关心的类的对象实例情形.
5.运路程序到某一个初始状况.
6.回到Opimize,运行垃圾回收器,为了尽大概变更GC,倡议持续运行GC三次以上(简单的说就是多点击记下按钮罢了).
7.对当天的状况举行标志,也就是点击一下视图右上角的带铅笔款式的图标.
8.路程序的功效,然后关闭该功效,使程序的退回到本来的状况,基本上就是在Optimize上作标志时刻的界面模样.
9.Optimize堆内存视图,多次举行GC.
10.timize报告出从近来一次做标志以来内存对象(实例)的改变情形.由于我们已经举行过滤,所以imize不会显示我们关心的包(大概类)以外的对象的情形.
通过这种对比,我们可以发现程序中能否有内存泄露.
以上是“<b>操纵OptimizeIT举行Java内存泄露的检测</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |