`
loovle
  • 浏览: 145521 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

常用Java Profiling工具的分析与比较

    博客分类:
  • Java
阅读更多
Java Profiler 工具比较

  本章节将从如下几个方面对上述工具进行比较:

  与 Eclipse 的集成性

  TPTP:是一款基于 Eclipse 开发的插件,因此与 eclipse 的集成性很好。安装成功后,对 TPTP 的一切设置与操控都可以在 eclipse 中完成;另外,profiling 的结果也可以在 eclipse 中进行查询。

  CodePro Profiler: 与 TPTP 类似,CodePro Profiler 也是一款基于 eclipse 开发的插件,因此与 eclipse 的集成性很好好。用户在 eclipse 中就可以完成对 profiling 的所有操作。

  YourKit Java Profiler: YourKit Java Profiler 可以说是一个比较独立的工具,安装成功后,用户可以直接在 eclipse 中启动 YourKit Java Profiler 并对 profiling 选项进行配置,但是用户必须在 YourKit Java Profiler 工具中对 Profiling preferrence 进行配置,而且 profiling 信息必须在 YourKit Java Profiler 中进行查看。因此和 Eclipse 的集成度一般。

  JProfiler: JProfiler 也是一款比较独立的工具,安装成功后,用户可以直接在 eclipse 中启动 JProfiler,其他所有操作必须回到 JProfiler 工具中进行。因此和 Eclipse 的集成性不好。

  遥测种类

  TPTP:目前使用的 4.6.2 的版本只提供了线程 Telemetry。

  CodePro Profiler: 总共有五个类型:CPU, 内存 , 线程 , 载入的类以及垃圾收集。

  YourKit Java Profiler: 与 CodePro Profiler 相比,缺少载入类的监测。

  JProfiler: 与 CodePro Profiler 一样,总共有五个类型的监测方法。

       CPU 快照包含的统计数据类型

  TPTP: CPU 快照包含的统计数据有:

  包的组成关系,细化到包含的类及类中的方法。

  方法的调用关系:以每个线程为根节点的方法调用信息,对于树中出现的代表方法的每个节点,列出了该方法的运行时间或运行时间百分比,以及该方法被调用的次数。

  方法被调用情况:列出了直接调用某方法的其他方法,以及这些方法调用该方法的次数及相关运行时间。

  热点列表:包含了 CPU 占用时间排列前十的方法、类或包。

  CodePro Profiler: CPU 快照包含的统计数据类型有:

  包的组成关系,细化到包含的类及类中的方法。

  方法的调用关系。以树结构表示,根据根节点表示的对象的不同,分为三种类型:以每个线程为根节点的方法调用关系,以整个线程为根节点的方法调用关系,以及以每个方法为根节点的方法调用关系。对于树中出现的代表方法的每个节点,列出了该方法的运行时间或运行时间百分比,以及由该方法生成的对象个数和为这些对象分配的内存大小。

  方法的被调用关系。该关系以树结构表示,其中根节点为某个指定的方法,每个节点的子节点为父节点的调用者。

  热点列表:包含了 CPU 占用时间排前的一些方法。

  YourKit Java Profiler:CPU 快照包含的统计数据类型与 CodePro Profiler 类似;

  JProfiler:与 CodePro Profiler 相比,缺少以每个方法为根节点的方法调用关系。因此当要查看以某个方法为调用起点的调用关系时,需要到以线程为根的树结构当中去查找。另外,方法的被调用关系不是以树结构来表示的,而是以图的方式来显示的,当调用关系比较复杂的时候,很难在一个屏幕中看到一个全局关系图。
分享到:
评论

相关推荐

    java内存分析工具介绍

    本文将深入探讨几种常用的Java内存分析工具,它们的特点、使用方法以及如何利用这些工具有效地优化应用程序。 首先,我们要理解Java内存模型。Java虚拟机(JVM)有三个主要的内存区域:堆(Heap)、栈(Stack)和...

    内存泄露检测工具

    以下是常用的内存泄露检测工具: 1. ccmalloc:是一个简单的内存泄漏和 malloc 调试库,适用于 Linux 和 Solaris 平台的 C 和 C++ 程序。 ccmalloc 工具可以帮助开发者检测程序中的内存泄漏问题,并提供了详细的...

    Java性能优化实战视频全集

    - **Profiling工具**: 如VisualVM、YourKit等,用于监控程序运行时的状态。 - **Tracing工具**: 如Java Flight Recorder (JFR)等,用于记录应用程序执行过程中的详细信息。 - **Logging**: 通过合理配置日志级别,...

    通过日志监控并收集Java应用程序性能数据

    Perf4j则是通过对自定义监控范围进行日志记录,再经统计分析生成所需性能数据,Perf4j提供了对常用日志工具的扩展以方便与产品集成,它产生的数据可用于生成可视化的性能图表。在实际部署的生产环境能够以较低的风险...

    JavaPerformanceTuning-Oreilly.pdf

    这部分详细介绍了几种常用的Java性能分析工具,如VisualVM、JProfiler等,以及它们的使用方法。 #### 四、虚拟机版本 - **虚拟机(VM)版本**(Virtual Machine (VM) Versions) - 不同版本的Java虚拟机(JVM)...

    mysql性能工具的使用.txt

    通过这些工具,我们可以对数据库的操作进行详细的监控与分析,进而找出可能导致性能瓶颈的原因并采取相应的优化措施。 #### 慢查询日志 慢查询日志是MySQL提供的一种非常有用的工具,用于记录执行时间超过指定阈值...

    python数据分析与可视化.docx

    - **Pandas Profiling**:Pandas Profiling 是一个自动生成数据概览报告的工具,它可以自动分析数据集并生成包含统计信息、数据分布等细节的报告,极大地简化了数据预处理的过程。 - **Jupyter Notebook**:Jupyter ...

    Linux内存调试工具Valgrind -PDF

    Valgrind是一款功能强大的开源软件,主要用于Linux环境下程序的调试与性能分析(profiling)。它由Julian Seward等人开发,并因其出色的工具特性荣获2005年Google-O'Reilly开源大奖中的“最佳工具制作者奖”。...

    linux_application_development

    三、开发工具与调试 1. IDEs:Eclipse、IntelliJ IDEA、Visual Studio Code等提供了一站式的开发环境,集成了代码编辑、编译、调试等功能。 2. GDB:GNU Debugger是Linux下的强大调试工具,可用于C/C++程序的调试...

    TPTP详细教程,中文版

    - **TPTP Tracing and Profiling Tools**:这些工具在应用程序的跟踪和分析阶段发挥作用,用于收集和分析性能数据,帮助开发者找出性能瓶颈。 - **TPTP Monitoring Tools**:用于应用程序和系统的实时监控,如CPU...

    深入云计算 MongoDB管理与开发实战详解pdf.part1

    15.2 Java常用操作 15.2.1 Java对MongoDB的操作实例 15.2.2 对用户的操作 15.2.3 对集合的操作 15.2.4 对索引的操作 15.3 Java高级查询 15.3.1 通过游标获取所有的文档 15.3.2 比较运算符 ...

    深入云计算 MongoDB管理与开发实战详解pdf.part2

    15.2 Java常用操作 15.2.1 Java对MongoDB的操作实例 15.2.2 对用户的操作 15.2.3 对集合的操作 15.2.4 对索引的操作 15.3 Java高级查询 15.3.1 通过游标获取所有的文档 15.3.2 比较运算符 ...

    android高级移动应用开发

    - **Debugging and Profiling Tools**:熟悉Android Studio提供的调试和性能分析工具,如Traceview。 - **性能测试**:掌握如何通过测试数据评估应用的性能表现,并据此进行调整优化。 以上知识点覆盖了Android高级...

    phython api document

    Python 2.6 的 C API 是一个强大的工具集,为 C 和 C++ 程序员提供了与 Python 解释器交互的能力。通过深入了解这些知识点,开发者可以更高效地编写扩展模块或嵌入 Python 解释器到自己的应用程序中。文档详细介绍了...

    MongoDB管理与开发精要《红丸出品》

    - **18.2 查询Profiling记录**:查看Profiling记录,分析数据库性能。 - **19.1 优化方案1: 创建索引**:合理创建索引可以显著提升查询性能。 - **19.2 优化方案2: 使用合适的查询语句**:避免全表扫描,使用更高效...

    测试用的代码

    8. **性能测试(Profiling)**:Android Studio提供了强大的性能分析工具,如Systrace、Traceview、CPU Profiler和Memory Profiler,帮助开发者识别和优化代码的性能瓶颈。 9. **持续集成(CI/CD)**:Jenkins、Travis ...

Global site tag (gtag.js) - Google Analytics