java性能分析

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、控制台视图,可以看到程序的输出结果。注意:不支持中文显示。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值