JVM--JVM上手工具VisualVM安装(堆内存观测工具插件)

简介: JVM学习之前一定要安装的一个工具,如果没有它所有的JVM学习都是在黑暗中行走。本文主要介绍VisualVM的安装
JVM学习之前一定要安装的一个工具,如果没有它所有的JVM学习都是在黑暗中行走。本文主要介绍VisualVM的安装

VisualVM 一款JVM监控的工具

在这里插入图片描述

官网地址:https://visualvm.github.io/,我们可以到官网下载它的windows客户端,也可以安装在IDEA中,不过个人建议使用IDEA安装该插件,避免不必要的空间浪费。

IDEA安装VisualVM

点击file->选择settings->点击plugins,按照下图搜索
在这里插入图片描述

点击安装从起IDEA即可。

配置VisualVM,然我们的IDEA启动的时候可以直接唤起VisualVM

点击file->选择settings->点击other settings找到我们刚安装VisualVM,设置如下两个路径,第一个java自带的工具,第二个jdk路径。
在这里插入图片描述

配置成功之后我们就可以看到如下标志

在这里插入图片描述

启动的时候就可以直接点击VisualVM插件启动程序了,只要是点击插件启动的,就可以直接唤起我们的VisualVM。差不多长下面这个样子

在这里插入图片描述

  • 为了更方便观察GC或者堆活动,我们安装一个VisualVM的插件

从VisualVM的官网进入插件中心

官网:https://visualvm.github.io/plugins.html
在这里插入图片描述

根据JDK选择对应的插件,我的是第一个

在这里插入图片描述

选中JDK后我们可以看到如下插件中心选项界面,下载GC

在这里插入图片描述

下载完成之后我们可以看到一个nbm的文件,这个时候我们需要唤起VisualVM,然后在VisualVM中安装该插件。我是用IDEA写了一个程序,如下:
public class Test {

    public static void main(String[] args) {

        for (; ; ) {
            A a = new A();
        }

    }

}

class A {
    String name;
    int age;
}

点击对应的启动按钮
在这里插入图片描述

这个时候我们就可以观测GC活动和堆的活动啦
在这里插入图片描述

目录
相关文章
|
2天前
|
Java
JVM堆内存是由哪几个区域组成的
JVM堆内存是由哪几个区域组成的
|
3天前
|
Java
在堆内存中,新创建的对象通常首先被分配到哪里
在堆内存中,新创建的对象通常首先被分配到哪里?
9 1
|
6天前
|
Java Windows
为什么JVM在内存返还策略上会左右为难
为什么JVM在内存返还策略上会左右为难?
|
16天前
|
存储 Java 程序员
Java面试题:方法区在JVM中存储什么内容?它与堆内存有何不同?
Java面试题:方法区在JVM中存储什么内容?它与堆内存有何不同?
39 10
|
16天前
|
存储 运维 Java
Java面试题:JVM的内存结构有哪些主要部分?请简述每个部分的作用
Java面试题:JVM的内存结构有哪些主要部分?请简述每个部分的作用
32 9
|
10天前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之使用ODPS Tunnel Upload功能时,遇到报错:Java 堆内存不足,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
10天前
|
存储 监控 算法
探索Java虚拟机:深入理解JVM内存模型和垃圾回收机制
在Java的世界中,JVM是核心所在,它不仅承载着代码的运行,还管理着内存资源。本文将带你深入了解JVM的内存模型和垃圾回收机制,通过具体数据与案例分析,揭示它们对Java应用性能的影响,并探讨如何优化JVM配置以提升效率。
|
12天前
|
监控 算法 Java
怎么用JDK自带工具进行JVM内存分析
JVM内存分析工具,如`jps`、`jcmd`、`jstat`、`jstack`和`jmap`,是诊断和优化Java应用的关键工具。`jps`列出Java进程,`jcmd`执行诊断任务,如查看JVM参数和线程堆栈,`jstat`监控内存和GC,`jstack`生成线程堆栈信息,而`jmap`则用于生成堆转储文件。这些工具帮助排查内存泄漏、优化内存配置、性能调优和异常分析。例如,`jmap -dump:file=heapdump.hprof <PID>`生成堆转储文件,之后可以用Eclipse Memory Analyzer (MAT)等工具分析。
|
15天前
|
存储 算法 Java
JAVA内存模型与JVM内存模型的区别
JAVA内存模型与JVM内存模型的区别
|
17天前
|
存储 算法 Java
Java面试题:深入探究Java内存模型与垃圾回收机制,解释JVM中堆内存和栈内存的主要区别,谈谈对Java垃圾回收机制的理解,Java中的内存泄漏及其产生原因,如何检测和解决内存泄漏问题
Java面试题:深入探究Java内存模型与垃圾回收机制,解释JVM中堆内存和栈内存的主要区别,谈谈对Java垃圾回收机制的理解,Java中的内存泄漏及其产生原因,如何检测和解决内存泄漏问题
24 0