通过IDEA设置堆内存空间

Posted 杀手不太冷!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过IDEA设置堆内存空间相关的知识,希望对你有一定的参考价值。

通过IDEA设置堆内存空间

编写两个可以导致线程阻塞的类并配置堆内存参数

首先需要注意的点:必须要是线程阻塞的类,在jvisualvm.exe程序里面才能够加载这个类的具体信息,jvisualvm.exe后面会提到。

编写两个类,类的main方法,代表两个线程,类具体代码如下图:

HeapDemo.java类的代码如下图:

在这里插入图片描述

HeapDemo3.java类的代码如下图:

在这里插入图片描述

然后给这两个类配置堆内存空间,点击Run->Edit Configurations,会跳出来一个弹窗,如下图:

在这里插入图片描述

配置好HeapDemo3类的堆内存后,再去配置HeapDemo类的堆内存,如下图:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

其中-Xms参数和-Xmx参数都是设置堆内存大小的参数:

-Xms:JVM初始时,最小分配的堆内存的大小

-Xmx:JVM初始化时,最大分配的堆内存的大小

启动类

配置好堆内存参数之后,启动这两个类,这两个类因为线程阻塞,所以会一直处于运行状态,这样才能够在jvisualvm.exe应用程序中加载这两个类的信息,这两个类启动成功之后,如下图:

在这里插入图片描述

在jvisualvm.exe中查看堆内存分配情况

成功启动类中的main方法之后,就可以在jvisualvm.exe应用程序中查看堆内存的分配情况了,那么jvisualvm.exe应用程序的位置在哪呢?jvisualvm.exe程序的位置在jdk的bin目录下,如下图:

在这里插入图片描述

然后打开jvisualvm.exe程序,如下图:

在这里插入图片描述

然后点击Visual GC,如下图:

在这里插入图片描述

注意:刚进入jvisualvm.exe这个应用程序的时候,可能找不到Visual GC这个选项,需要我们安装插件,安装插件的过程如下图:

在这里插入图片描述

在这里插入图片描述

以上是关于通过IDEA设置堆内存空间的主要内容,如果未能解决你的问题,请参考以下文章

JVM内存结构

JVM 运行时内存空间详解——堆

JVM堆内存参数优化,让性能飞起来

理解JAVA虚拟机(下)

JVM08_堆

在 Intellij IDEA 中不断出现 Gradle 错误“无法为对象堆保留足够的空间”