Java虚拟机(JVM)-- 堆内存调优
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java虚拟机(JVM)-- 堆内存调优相关的知识,希望对你有一定的参考价值。
1. 堆内存调优
- 了解完基本的堆的信息之后,我们就可以简单学习下关于堆内存调优的说明了!我们是基于 HotSpot 虚拟机的,JDK1.8;
先看下 JDK 1.7 的
- Minor GC => 轻GC
- Major GC => 重GC
JDK 1.8 的
1.1 使用 IDEA 调整堆内存大小测试
代码测试:
public static void main(String[] args) {
//返回Java虚拟机试图使用的最大内存量
long maxMemory = Runtime.getRuntime().maxMemory();
//返回Java虚拟机中的内存总量
long totalMemory = Runtime.getRuntime().totalMemory();
System.out.println("MAX_MEMORY=" + maxMemory + "(字节): " + (maxMemory / (double) 1024 / 1024) + "MB");
System.out.println("TOTAL_MEMORY=" + totalMemory + "(字节): " + (totalMemory / (double) 1024 / 1024) + "MB");
}
运行结果:
IDEA中进行JVM调优参数设置,然后启动:
-Xms1024m -Xmx1024m -XX:+PrintGCDetails
VM参数调优:把初始内存,和总内存都调为 1024M,运行,查看结果!
运行结果:
再次证明:元空间并不在虚拟机中,而是使用本地内存。
1.2 测试二
代码:
public static void main(String[] args) {
String str = "Tianjiao";
while (true) {
str += str + new Random().nextInt(88888888) + new Random().nextInt(999999999);
}
}
vm参数:
-Xms8m -Xmx8m -XX:+PrintGCDetails
测试,查看结果:
以上是关于Java虚拟机(JVM)-- 堆内存调优的主要内容,如果未能解决你的问题,请参考以下文章