Borland Optimizeit Suite 简介
【原创】Borland Optimizeit Suite 简介收藏 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、控制台视图,可以看到程序的输出结果。注意:不支持中文显示。 |