CSDN博客

img topcn

【原创】Borland Optimizeit Suite 简介

发表于2004/11/3 14:35:00  4036人阅读

Borland Optimizeit Suite 是Borland 提供的一个Java 代码优化工具包,包括:
1、Profiler:内存、Java 虚拟机、CPU 使用情况跟踪
2、Thread Debugger:Thread 跟踪工具
3、Code Coverage:代码运行覆盖跟踪工具,可以提供代码的覆盖率

以下是详细的介绍:

【1、Profiler:】
首先介绍一下什么是JAVA的内存泄漏
 Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与C++不同。
 随着越来越多的服务器程序采用Java技术,例如JSP,Servlet, EJB等,服务器程序往往长期运行。另外,在很多嵌入式系统中,内存的总量非常有限。内存泄露问题也就变得十分关键,即使每次运行少量泄漏,长期运行之后,系统也是面临崩溃的危险。
 Java存在内存泄露问题,其原因主要是一些对象虽然不再被使用,但它们仍然被引用。为了解决这些问题,我们可以通过软件工具来检查内存泄露,检查的主要原理就是暴露出所有堆中的对象,让程序员寻找那些无用但仍被引用的对象。

Profiler 主要用于观察当前的内存及Java 虚拟机、CPU 使用情况。
  可以查看的内容:
       在图标栏中间的3个按钮从左到右依次代表查看Java 虚拟机、CPU、内存情况。
  查看内存情况可以按照以下几种方式查看:
       1、Heap:堆,缺省模式
       2、Allocation Backtrace:显示Heap 中某一Class 的被调用情况
       3、Instance Display:显示某一实例的引用(Reference)情况
       4、Reference from roots:以类继承关系显示各个类占用内存的情况
后两种模式下可以通过双击Allocated at 列表来查看源代码,当然源代码路径必须事先设定。


【2、Thread Debugger】
Thread Debugger 用于线程的调试,可以观察线程的运行、死锁及线程调用方法。
Thread Debugger 可以使用的功能:
       1、查看线程情况
       2、查看Monitor 信息:主要是看线程的Block。
       3、启动Moniter 分析
查看线程情况可以按照
       1、Acitvate 模式:查看线程的活动情况
       2、Contention 模式:显示Contention,所谓Contention 指两个或两个以上的Thread 试图同时进入同一个Monitor
       3、Waiting 和I/O Waiting 模式
       4、Moniter Enter 模式:显示线程进入Moniter 及在Moniter 运行的情况。

【3、Code Coverage:】
主要功能:用来检测哪些代码执行了,哪些代码没有执行,执行过的代码占总代码的比例。
使用步骤:
1、设置(FILE->SETTINGS)要执行的类,要包含的包,源代码路径。
2、开始执行
3、Class Coverage(类代码覆盖率)视图可以看到系统引用的所有类的代码的覆盖率。
4、双击Class Coverage中一个类可以跳转到这个类的方法覆盖率视图(Method Coverage)

图标栏右上角的三个按钮分别是
1、Class Coverage(类代码覆盖率)视图
2、方法覆盖率视图(Method Coverage)
3、控制台视图,可以看到程序的输出结果。注意:不支持中文显示。

阅读全文
0 0

相关文章推荐

img
取 消
img