通过JProbe提高项目开发质量 之内存泄漏 收藏 http://blog.csdn.net/wst302/archive/2005/07/23/432799.aspx q
一.当前,J2EE的开发质量的问题已经越来越突出,“内存泄露”是目前Java应用中最为常见的问题之一,这里以Quest JProbe Suite 工具为例,说明在实际开发中应如何提高开发质量,解决“内存泄露”问题。
1.启动JProbe J2EE Integration。
2.从左上角下拉列表中选择你要集成的服务器版本,以tomcat为例子 。然后编辑右侧内容。
3.编辑下面区域或使用默认值 ,然后点击“save”按纽
3.编辑下面区域或使用默认值 ,然后点击“save”按纽
Integration ID: JProbe Demo 1 Integration ID,便于重用每次集成过程
Server Directory: D:\bea\wlserver6.1 直接输入WLS服务器根路径或者通过"浏览"方式输入。
Domain Name: Mydomain 输入你想分析的域名。
Startup Script: StartWeblogic.cmd 直接输入要调查的服务器的启动脚本或者通过"浏览"方式输入。
JProbe Settings:(JPL File) check the VAR checkbox 集成工具允许你使用先前创建的JPL(JProbe Launchpad)文件。如果要使用由每个工具在启动时默认创建的JPL文件,选择VAR复选框。
Java Executable: d:\sun\jdk1.3.1\bin\Java.exe 可直接输入或通过浏览方式输入Java虚拟机的执行文件路径
3.编辑下面区域或使用默认值 ,然后点击“save”按纽
3.编辑下面区域或使用默认值 ,然后点击“save”按纽
Integration ID: JProbe Demo 1 Integration ID,便于重用每次集成过程
Server Directory: D:\bea\wlserver6.1 直接输入WLS服务器根路径或者通过"浏览"方式输入。
Domain Name: Mydomain 输入你想分析的域名。
Startup Script: StartWeblogic.cmd 直接输入要调查的服务器的启动脚本或者通过"浏览"方式输入。
JProbe Settings:(JPL File) check the VAR checkbox 集成工具允许你使用先前创建的JPL(JProbe Launchpad)文件。如果要使用由每个工具在启动时默认创建的JPL文件,选择VAR复选框。
Java Executable: d:\sun\jdk1.3.1\bin\Java.exe 可直接输入或通过浏览方式输入Java虚拟机的执行文件路径
4.启动JProbe Memory Debugger的研究会话
a.选择session-New J2EE Settings
b.点击“Manage Configutions”,然后点击“Edit“,在“Application Deploy Directory”下选择项目的根目录。
5.在JProbe LaunchPad窗口中选择“Filter”
a.点击“Please enter a package,or method to display data for”。
b.输入你要调查的包,然后在“Display”栏的下拉菜单里选择“Display” c.选中"Monitor Garbage Collections from Program Start"复选框
5.在JProbe LaunchPad窗口中选择“Filter”
a.点击“Please enter a package,or method to display data for”。
b.输入你要调查的包,然后在“Display”栏的下拉菜单里选择“Display”
c.选中"Monitor Garbage Collections from Program Start"复选框
7.当tomcat初始化时,Runtime Heap Graph将增高,这反映了对象创建和垃圾回收活动。一旦tomcat 已经被充分初始化后,就可以开始着手分析了。
a.首先点击“Start Use Case”,然后我们登陆系统。
b. Filter Classes域中填入要监控的类。
c.进行一些需要监控的操作,观察“Count Change”,即堆中各个类找一系列操作中的对象改变数。
d.点击“Finish Use Case”。
8.我们注意到BsFormField类的Count Change列显示为+65,这表示从开始运行用例到结束用例运行这段时间内,堆中增加了65个BsFormField对象,很可能就是内存泄漏的对象。
9.这部分我们将找到究竟是哪些存活对象还持有BsFormField游离实例的引用。打开Class View窗口查看snapshot中的数据,通过Instance Detail View可以更深入地看到BsFormField的细节信息,最后打开Source窗口我们将看到原来是BsFormDate仍然持有游离对象BsFormField 。
a. 选中要分析的snapshot,点击”Class View”。打开的窗口显示了堆中的类。
b. 选中BsFormFiled类并点击”Merged Allocation Points View” 。这样可以查看到该类在是由谁实例化的及个数。
c.右击BsFormDate.putForce(String,String),选择”Allocate At Source”,弹出的窗口显示选中的putForce( )方法并定位到了分配BsFormFiled实例的代码行。至此,你看到了BsFormFiled是在什么地方被实例的。
c.找到代码行后,即说明在此方法中实例化的BsFormField对象在使用后未被置null,释放对象。
d.找到原因之后,我们在每次使用BsFormField后,手动置null,确保对象被释放。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wst302/archive/2005/07/23/432799.aspx
分享到:
相关推荐
通过JProbe Suite,开发和测试小组可以全面诊断应用性能、内存使用、线程及代码覆盖等问题。无须修改应用,JProbe就能对桌面或远程服务器上的应用进行分析,实现强大的信息展示和Java代码性能诊断功能。利用JProbe...
通过以上分析可以看出,Jprobe Suite 提供了一系列强大的工具,不仅能够帮助开发者有效定位 Java 应用中的性能瓶颈和潜在问题,还能通过自动化测试和监控提高整体开发效率和代码质量。无论是对于本地还是远程的应用...
本文将详细介绍JProbe插件在Eclipse中的安装、配置以及使用方法,并探讨如何通过这些插件提高Java应用程序的性能。 #### 安装与配置 ##### 安装过程 1. **下载JProbe插件**:首先访问Quest Software官方网站或通过...
通过JProbe Suite,开发和测试小组可以全面诊断应用性能、内存使用、线程及代码覆盖等问题。无须修改应用,JProbe就能对桌面或远程服务器上的应用进行分析,实现强大的信息展示和Java代码性能诊断功能。利用JProbe...
通过JProbe Suite,开发和测试小组可以全面诊断应用性能、内存使用、线程及代码覆盖等问题。无须修改应用,JProbe就能对桌面或远程服务器上的应用进行分析,实现强大的信息展示和Java代码性能诊断功能。利用JProbe...
JProbe是一款强大的Java性能分析工具,由Quest Software公司开发,用于帮助开发者诊断和优化Java应用程序。本文将详细介绍JProbe在Windows和Unix环境下的安装步骤,以及如何添加许可证和集成应用服务器。 首先,...
通过JProbe Suite,开发和测试小组可以全面诊断应用性能、内存使用、线程及代码覆盖等问题。无须修改应用,JProbe就能对桌面或远程服务器上的应用进行分析,实现强大的信息展示和Java代码性能诊断功能。利用JProbe...
《JProbe Suite 8.1.0:Java性能分析利器》 JProbe Suite 8.1.0是一款专为Java开发者设计的高级性能分析工具,它...通过深入学习和熟练使用JProbe,开发者可以更好地优化他们的Java项目,提高应用程序的稳定性和效率。
本指南将引导你快速掌握JPROBE的使用方法,助你在Java开发中游刃有余。 ### 一、JPROBE简介 JPROBE是ATG公司(现被Oracle收购)开发的一款针对Java平台的性能分析工具。它主要用于检测和诊断Java应用程序中的性能...
在Linux系统中,kprobe和jprobe是内核调试工具,用于动态地追踪内核代码的行为,无需重新编译内核。这两个工具是基于kprobes框架,它提供了一种安全...在实际项目中,合理运用这些技术,能够显著提升开发效率和维护性。
本文档旨在帮助Java开发者快速掌握如何利用JProbe解决常见的Java内存问题,提高程序的性能和稳定性。 #### 二、Quest JProbe介绍 ##### 2.1 工具概述 JProbe是一款企业级Java分析工具,专注于解决Java应用程序中的...
从官网下载8.2试用版,覆盖client-support.jar, 导入trial license(可以任意更改其中expiry): Example: license_version=8.2 serial_number=174-7530800 expiry=2015/11/01 ...product=jprobe.suite
_jprobe_ 是一款强大的性能分析工具,主要应用于Java应用程序,它可以帮助开发者深入理解程序运行时的性能状况,从而优化代码、提高应用效率。这款工具以其直观的用户界面和丰富的功能,使得性能问题的定位和解决变...
JProbe Coverage 是代码测试覆盖率工具,对于开发人员和质量保证团队来说至关重要。它能显示哪些代码已执行,哪些尚未执行,帮助评估测试的覆盖率,确保代码的质量。测试结果可以浏览、打印、分享或导出为XML,便于...
通过这些资料,开发者能够全面了解和掌握JProbe 7.0的使用,从而提升Java应用程序的性能,解决内存泄漏、性能下降等问题,提高开发效率和产品质量。同时,持续学习和实践JProbe的使用技巧,将有助于成为更出色的Java...
JProbe.Suite.v8.0.1 Crack
JProbe是一款专门针对Java语言开发的性能分析工具,它可以广泛应用于Java独立应用程序和基于各种应用服务器上运行的Web应用程序中。...掌握JProbe的安装和使用,对于Java开发人员而言,是一个提高软件质量的重要技能。
Jprobe Suite是由Sitraka公司开发的一套专为Java设计的单元测试工具,旨在帮助开发者检测和优化Java代码,确保其高效运行。该套装包含了四个独立...通过熟练掌握Jprobe的使用,开发者可以提升代码质量和项目的可靠性。
JProbe® is an enterprise-class Java profiler that enables you to: •Achieve unprecedented code performance, stability, and quality •Identify software defects in rapid time •Use in-depth profiling ...