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

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

image.png

要使用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”, 把第一步下载的插件文件加载进去。

image.png

image.png

image.png

image.png

使用VisualVM进行性能测试

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


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

image.png

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


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


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


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

image.png

image.png


相关文章
|
15天前
|
小程序 Java 程序员
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
28 0
|
21天前
|
监控 Ubuntu Java
Java VisualVM远程监控JVM
Java VisualVM远程监控JVM
Java VisualVM远程监控JVM
|
2月前
|
存储 算法 C++
程序性能分析
1. 什么是程序性能 程序性能指的是程序在执行过程中所消耗的时间和资源的多少。一个好的程序应该能够在较短的时间内完成所需的任务,并且尽可能地利用少量的资源。
25 3
|
4月前
|
监控 算法 Java
垃圾回收机制与性能调优:描述Java虚拟机(JVM)的垃圾回收算法,并解释为什么需要这些算法。如何使用Java内存分析工具(如VisualVM、JConsole或MAT)来识别和解决内存泄漏问题?
垃圾回收机制与性能调优:描述Java虚拟机(JVM)的垃圾回收算法,并解释为什么需要这些算法。如何使用Java内存分析工具(如VisualVM、JConsole或MAT)来识别和解决内存泄漏问题?
32 1
|
7月前
|
搜索推荐 Java
深入了解基数排序:原理、性能分析与 Java 实现
基数排序(Radix Sort)是一种非比较性排序算法,它根据元素的每个位上的值来进行排序。基数排序适用于整数或字符串等数据类型的排序。
109 2
深入了解基数排序:原理、性能分析与 Java 实现
|
7月前
|
存储 搜索推荐 Java
深入了解桶排序:原理、性能分析与 Java 实现
桶排序(Bucket Sort)是一种排序算法,通常用于将一组数据分割成有限数量的桶(或容器),然后对每个桶中的数据进行排序,最后将这些桶按顺序合并以得到排好序的数据集。
106 1
深入了解桶排序:原理、性能分析与 Java 实现
|
7月前
|
存储 搜索推荐 Java
深入了解归并排序:原理、性能分析与 Java 实现
归并排序(Merge Sort)是一种高效且稳定的排序算法,其优雅的分治策略使它成为排序领域的一颗明珠。它的核心思想是将一个未排序的数组分割成两个子数组,然后递归地对子数组进行排序,最后将这些排好序的子数组合并起来。
115 1
深入了解归并排序:原理、性能分析与 Java 实现
|
7月前
|
搜索推荐 算法 Java
深入了解快速排序:原理、性能分析与 Java 实现
快速排序(Quick Sort)是一种经典的、高效的排序算法,被广泛应用于计算机科学和软件开发领域。本文将深入探讨快速排序的工作原理、步骤以及其在不同情况下的性能表现。
303 2
深入了解快速排序:原理、性能分析与 Java 实现
|
9月前
|
存储 搜索推荐 算法
2.2 Java一维数组操作技巧:数组的排序算法及性能分析
2.2 Java一维数组操作技巧:数组的排序算法及性能分析
92 0
|
10月前
|
Java
编写程序将“jdk”全部变为大写并输出到屏幕,截取子串“DK”并输出到屏幕。
编写程序将“jdk”全部变为大写并输出到屏幕,截取子串“DK”并输出到屏幕。
165 0