- Intellij Idea教程
- Intellij Idea - 主页
- Intellij Idea - 简介
- 安装与配置
- Intellij Idea - 熟悉
- 创建第一个 Java 项目
- Intellij Idea - 深入探讨
- Intellij Idea - 深入研究编辑器
- Intellij Idea - 代码重构
- Intellij Idea - 运行项目
- Intellij Idea - 构建工具
- Intellij Idea - 单元测试
- Intellij Idea - 调试
- Intellij Idea - 分析
- Intellij Idea - 版本控制
- Intellij Idea - 数据库
- 从 NetBeans 迁移
- Intellij Idea - 从 Eclipse 迁移
- Intellij 理念资源
- Intellij Idea - 快速指南
- Intellij Idea - 有用资源
- Intellij Idea - 讨论
Intellij Idea - 分析
Profiler 提供有关您的应用程序的见解,例如 CPU、内存和堆使用情况。它还提供了有关应用程序线程的详细信息。本章讨论使用 VisualVM 工具进行 Java 应用程序分析。它可以分析 CPU 和堆等实体。
建议本教程的读者熟悉应用程序分析器概念。
介绍
VisualVM是一个集成了JDK工具的可视化工具,为您提供强大的分析功能。它允许您生成和分析堆数据、跟踪内存泄漏、监视垃圾收集器以及执行内存和 CPU 分析。
好处
在 JVM 上运行的本地和远程 Java 应用程序的可视化界面。
监视应用程序的内存使用情况和应用程序的运行时Behave。
监控应用程序线程
分析不同应用程序的内存分配。
线程转储 - 在出现死锁和竞争条件时非常方便。
堆转储 - 在分析堆内存分配时非常方便。
配置
在本节中,我们将了解配置 VisualVM 所执行的步骤。步骤如下 -
从这里下载。
提取 zip 文件。
导航到 etc/visualvm.conf 文件并在此文件中添加以下行 -
visualvm_jdkhome=<path of JDK>
如果您的 JDK 安装在C:\Program Files\Java\jdk-9.0.1目录中,那么它应该如下所示 -
visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"
监控应用
现在让我们看看如何监控应用程序。考虑以下步骤来理解相同的内容 -
- 双击 VisualVM.exe 文件。
- 从左侧窗格中选择应用程序。
- 选择监视器选项卡。
您将被引导到一个窗口,您可以在其中获取有关 CPU、堆、类和线程的详细信息。要具体了解用法,请将鼠标悬停在任何图表上。我们可以在上面的截图中看到Heap的使用情况。
关于线程的见解
Java 应用程序可以包含多个执行线程。要了解有关线程的更多信息,请选择特定应用程序的“线程”选项卡。它将提供有关线程的各种统计信息,例如活动线程和守护线程的数量。不同的线程状态是运行、睡眠、等待、暂停和监视。
样品申请
VisualVM支持CPU、内存采样和内存泄漏检测。要示例应用程序,请选择应用程序并选择示例选项卡 -
CPU采样
对于 CPU 采样,请单击 CPU 按钮,如下图所示 -
内存分析
对于内存分析,单击“内存”按钮,如以下屏幕截图所示 -
内存泄漏
当应用程序在运行时慢慢地用程序不会自动删除的对象填充堆时,就会发生内存泄漏。
如果程序不使用的对象没有被删除,那么它仍然保留在内存中,GC 无法回收其空间。如果应用程序中的字节数和实例数不断显着增加,直至耗尽所有空间,这可能表明存在内存泄漏。
分析应用
在本节中,我们将学习如何分析应用程序。要分析应用程序,请从左侧窗格中选择应用程序,然后单击配置文件选项卡 -
CPU分析
要执行 CPU 分析,请单击 CPU 按钮,如下面的屏幕截图所示 -
内存分析
要执行 CPU 分析,请单击 CPU 按钮,如下面的屏幕截图所示 -