快速入门JVM第三讲——堆参数调优入门

通常意义上所说的JVM内存调优,其实就是调堆内存(即新生区和养老区)的大小。于是,在这一讲中,我将会详细说明一下堆参数调优。温馨提示,本讲中演示的案例均以JDK1.8+HotSpot为基准。
我们先看看Java7中堆内存的分布情况,如下图所示。
快速入门JVM第三讲——堆参数调优入门
再来看看Java8中堆内存的分布情况,如下图所示。
快速入门JVM第三讲——堆参数调优入门
从上图中可以清楚地看到,JDK1.8之后将最初的永久代取消了,并由元空间取代。本讲中所有的案例都是在JDK1.8基础上演示的。
如果你想要对堆内存进行调优,那么必然就要接触以下三个参数,如下列表所示。
快速入门JVM第三讲——堆参数调优入门
试着运行以下Java程序,看看输出的结果是啥?
快速入门JVM第三讲——堆参数调优入门
运行以上Java程序,你便可以在Eclipse控制台看到如下打印信息。
快速入门JVM第三讲——堆参数调优入门
从上图中可以清楚地看出,默认情况下Java虚拟机试图使用的最大内存量是本机内存大小/64,初始化的内存是本机内存大小/4,而我的本机内存大小是8GB。
快速入门JVM第三讲——堆参数调优入门