IDEA集成性能分析神器VisualVM

VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作。
性能分析神器:VisualVM

1. IDEA中安装 VisualVM Launcher 插件

在IDEA自带的插件市场,搜索VisualVM Launcher,然后安装即可:
IDEA集成性能分析神器VisualVM_第1张图片

2. 下载VisualVM软件(也可以使用安装JDK时自带的jvisualvm.exe)

官网地址:http://visualvm.github.io/download.html
根据提示下载,然后解压即可。
IDEA集成性能分析神器VisualVM_第2张图片
当然,也可以使用JDK自带的jvisualvm.exe,安装jdk路径下的bin文件夹,如:
…\jdk1.8.0_351\bin:
IDEA集成性能分析神器VisualVM_第3张图片

3. IDEA插件VisualVM Launcher配置

  • a. 打开idea设置,找到其它设置中的Visual Launcher。
  • b. 配置安装的VisualVM的.exe执行文件。
  • c. 按如图所示进行配置即可。(我是用JDK自带的软件)
    IDEA集成性能分析神器VisualVM_第4张图片

4. 安装Visual GC插件

  • a. 点击链接地址进入GC插件官网:https://visualvm.github.io/pluginscenters.htmlIDEA集成性能分析神器VisualVM_第5张图片
  • b. 选择对应的JDK版本进入,找到Visual GC下载即可。IDEA集成性能分析神器VisualVM_第6张图片
  • c. 打开Java VisualVM软件,工具-插件,选择已下载,选择刚下载的软件,进入安装,按提示安装即可。IDEA集成性能分析神器VisualVM_第7张图片
    IDEA集成性能分析神器VisualVM_第8张图片

4. Java代码示例

安装完插件后,会在调试界面多两个这样的按钮:点击运行代码会代开Java VisualVM可视化界面:
IDEA集成性能分析神器VisualVM_第9张图片

public static void main(String[] args) throws IOException {
        List<byte[]> vms = new ArrayList<byte[]>();
        System.in.read();
        while (true) {
            Thread thread = Thread.currentThread();
            System.out.println("当前线程名:" + thread.getName() + "--当前线程ID: " + thread.getId() + "--当前线程状态:" + thread.getState());
            RuntimeMXBean runtimeBean = ManagementFactory.getRuntimeMXBean();
            String pidStr = runtimeBean.getName().split("@")[0];
            System.out.println("线程PID: " + pidStr);
            System.out.println("----: " + DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
            final int _4m = 1024 * 1024 * 4;
            byte[] bytes = new byte[_4m];
            vms.add(bytes);
            System.in.read();
        }
    }

IDEA集成性能分析神器VisualVM_第10张图片
IDEA集成性能分析神器VisualVM_第11张图片
IDEA集成性能分析神器VisualVM_第12张图片
IDEA集成性能分析神器VisualVM_第13张图片
IDEA集成性能分析神器VisualVM_第14张图片

控制台打印信息如下:
IDEA集成性能分析神器VisualVM_第15张图片
学习链接:
http://www.cnblogs.com/wade-xu/p/4369094.html
https://blog.csdn.net/inthat/article/details/83317671

你可能感兴趣的:(intellij-idea,java,ide)