专栏首页Jerry的SAP技术分享使用JDK自带的VisualVM进行Java程序的性能分析

使用JDK自带的VisualVM进行Java程序的性能分析

版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.blog.csdn.net/article/details/81395851

VisualVM是什么?

VisualVM是JDK自带的一个用于Java程序性能分析的工具,JDK安装完毕后就有啦,在JDK安装目录的bin文件夹下能找到名称为jvisualvm.exe。

要使用VisualVM分析您的应用性能,首先得让VisualVM识别出您的应用。Eclipse有个插件名叫“VisualVM Launcher for Eclipse”,可以帮助我们做到这一点。

Eclipse VisualVM Launcher的安装和配置

1. 从下面的链接下载VisualVM Launcher插件。下载完毕后,放到您本地Eclipse文件夹的plugins文件夹下。

http://visualvm.java.net/eclipse-launcher.html

你可以参考下图我本地的Eclipse文件夹。注意这个插件解压之后,应该有一个名叫site.xml的文件。

2. 在Eclipse里,菜单 “Help->Install New Software”, 点 “Local”, 把第一步下载的插件文件加载进去。

Plugin文件已经被成功识别出来,可以安装了。

3. 安装完毕,重启Eclipse,能在Eclipse的option里能看到一个新的关于VisualVM的界面了。我们需要告诉Eclipse我们JDK自带的VisualVM的可执行文件具体路径。这里根据JDK的路径指定即可。

注意JDK home可别错误指定成JRE的路径了,否则Eclipse也会贴心地弹出错误提示:Error Starting VisualVM:You are running VisualVM using Java Runtime Environment(JRE)。

使用VisualVM进行性能测试

右键单击您的Java项目,从右键菜单里选择“Run as”->”Run configuration”, 创建一个新的应用程序启动配置。

因为前面我们已经成功安装了Eclipse VisualVM Launcher,所以此时发现除了Eclipse自带的Eclipse JDT launcher之外,多了一个VisualVM Launch的选项。

2. 假设我自己实现了一个快速排序算法,我想测一测它的性能。

首先我在下图代码第57行执行我的快速排序算法之处设置一个断点。

然后使用前一步创建的基于Eclipse VisualVM Launcher的应用程序启动配置,以调试模式启动我的Java应用。

断点触发,这样VisualVM就成功识别到了我的Java应用。点击Profiler标签页:

当前状态: profiling inactive.

点击CPU按钮:

现在Profile处于激活状态了。

3. 回到Eclipse,按F8结束应用程序的执行。应用程序一旦结束,VisualVM会立即扑捉到这个事件,并弹出一个窗口通知我们:

点Yes,就可以查阅VisualVM为我们产生的性能评测分析报告了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用JDK自带的VisualVM进行Java程序的性能分析

    VisualVM是JDK自带的一个用于Java程序性能分析的工具,JDK安装完毕后就有啦,在JDK安装目录的bin文件夹下能找到名称为jvisualvm.exe...

    Jerry Wang
  • Tomcat和Eclipse不同的集成方式

    最近在使用Eclipse里的run as Server功能时,经常遇到一些很诡异的问题,困扰了我很久:

    Jerry Wang
  • Eclipse被卡死了或者失去响应了后分析根源的一个小技巧

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • 使用JDK自带的VisualVM进行Java程序的性能分析

    VisualVM是JDK自带的一个用于Java程序性能分析的工具,JDK安装完毕后就有啦,在JDK安装目录的bin文件夹下能找到名称为jvisualvm.exe...

    Jerry Wang
  • HDU 2520 我是菜鸟,我怕谁

    我是菜鸟,我怕谁 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (...

    Angel_Kitty
  • Vapor奇幻之旅(01开始)

    Swift开源以来就有了许多服务器的框架,以下是目前github上比较热门的服务器框架(页面收集来自awesome-swift),我对每个开源库按照star进行...

    Leacode
  • GE Digital和Bosch合作共谋减少IoT碎片化

    通用电气公司(General Electric)的一个部门GE Digital与Bosch集团的一个部门Bosch软件创新达成合作,合作研发其物联网(IoT)平...

    SDNLAB
  • OCP-052考试题库汇总(39)-CUUG内部解答版

    A)Auditing is active only when the database is OPEN.

    用户5892232
  • Eclipse Tomcat 8 警告: Unable to add the resource at

    Eclipse Tomcat 8 警告: Unable to add the resource at [***] to the cache...

    拓荒者
  • 使用Vapor 3 创建项目build/xocde 报错

    以前跟着网上的教程玩过Vapor2,但基本都忘光了,今天下班了有照着官方文档来一波。。。但是出错了。。。

    韦弦zhy

扫码关注云+社区

领取腾讯云代金券