Java虚拟机详解(六)------JVM参数(持续更新)

  JVM参数有很多,其实我们直接使用默认的JVM参数,不去修改都可以满足大多数情况。但是如果你想在有限的硬件资源下,部署的系统达到最大的运行效率,那么进行相关的JVM参数设置是必不可少的。下面我们就来对这些JVM参数进行详细的介绍。

  我们就以最明显的“长相”(书写形式)来分,JVM参数主要分为以下三种:

1、标准参数

  标准参数,顾名思义,标准参数中包括功能以及输出的结果都是很稳定的,基本上不会随着JVM版本的变化而变化

  我们可以通过 -help 命令来检索出所有标准参数。

  

  关于这些命令的详细解释,可以参考官网:https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html

  -help 也是一个标准参数,再比如使用比较多的 -version也是。

  ①、-version

  显示Java的版本信息。

  

2、X 参数

  对应前面讲的标准化参数,这是非标准化参数。表示在将来的JVM版本中可能会发生改变,但是这类以 -X开始的参数变化的比较小。

  我们可以通过 Java -X 命令来检索所有-X 参数。

  

  关于这些参数的介绍,其实上图的中文解释很清楚了,这里我们不作过多的介绍。

3、XX参数

  这是我们日常开发中接触到最多的参数类型。这也是非标准化参数,相对来说不稳定,随着JVM版本的变化可能会发生变化,主要用于JVM调优和debug。

  注意:这种参数是我们后续介绍JVM调优讲解最多的参数。

  该参数的书写形式又分为两大类:

①、Boolean类型

  格式:-XX:[+-]<name> 表示启用或者禁用name属性。

  例子:-XX:+UseG1GC(表示启用G1垃圾收集器)

②、Key-Value类型

  格式:-XX:<name>=<value> 表示name的属性值为value。

  例子:-XX:MaxGCPauseMillis=500(表示设置GC的最大停顿时间是500ms)

4、参数详解(持续更新)

  本节我们会持续更新罗列一些JVM参数。

①、标准参数

  

1、最大堆和最小堆内存设置

  -Xmx512

  -Xms512

2、Dump异常快照

  -XX:+HeapDumpOnOutOfMemoryError

3、打印gc信息

  -verbose:gc

  -XX:+PrintGCDetails

参考文档:https://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html

https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html

猜你喜欢

转载自www.cnblogs.com/ysocean/p/11109018.html