一、JVM的参数类型:
1、标配参数:
1 2 |
|
X参数(了解)
-Xmixed 混合模式(先编译后执行)
-Xint 解释执行
-Xcomp 第一次使用就编译成本地代码
3、XX参数:
- Boolean类型:公式:-XX:+ (+表示开启 -表示关闭)
- 是否打印GC收集细节
-XX:+PrintGCDetails
-XX:-PrintGCDetails
是否使用串行垃圾回收器
-XX:+UseSerialGC
-XX:-UseSerialGC
问题:如何查看一个正在运行中的java程序,它的某个JVM参数是否开启?
代码验证:
|
1 2 3 |
|
jps -l 表示查看java运行的进程号
jinfo -flag PrintGCDetails pid 表示查看JVM是否配置PrintGCDetails参数
-XX:-PrintGCDetails 减号表示没有配置PrintGCDetails参数
配置JVM -XX:+PrintGCDetails参数
- KV设值类型:公式:-XX:属性key=属性值value=
1 2 3 |
|
1 2 |
|
jinfo -flag 配置项 进程编号
三、两个经典参数:-Xms1024m -Xmx1024m谈谈你的理解
1 2 |
|
二、如何查看JVM系统参数的默认值
1 2 3 |
|
1 |
|
结果:-XX:InitialHeapSize=261777856 -XX:MaxHeapSize=4188445696 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)