
本次主要内容:
如何查看参数标准参数-X参数-XX参数Boolean类型非Boolean类型其他参数如何设置参数单位换算JVM常见参数和含义
java -XX:+PrintFlagsFinal -version > flags.txt


在IDEA中



想要的JVM参数在这里都能找到。
例如:执行java -version

-X***的属于非标准参数,意思就是在不同JDK版本汇总可能会变动。

非标准化参数,相对不稳定,主要用于JVM调优和Debug,使用频率最高的参数。
格式:-XX:[+-]name +或-表示启用或者禁用name属性比如:
-XX:+UseConcMarkSweepGC 表示启用CMS类型的垃圾回收器-XX:+UseG1GC 表示启用G1类型的垃圾回收器
格式:-XX:name=value表示name属性的值是value比如:-XX:MaxGCPauseMillis=500
下面举例几个:
-Xms1000m等价于-XX:InitialHeapSize=1000m-Xmx1000m等价于-XX:MaxHeapSize=1000m-Xss100k等价于-XX:ThreadStackSize=100kjava -XX:+UseG1GC xxx.jar1Byte(字节)=8bit(位)
1KB=1024Byte(字节)
1MB=1024KB
1GB=1024MB
1TB=1024GB示例:
设置堆内存大小和参数打印-Xmx100M -Xms100M -XX:+PrintFlagsFinal

查询+PrintFlagsFinal的值:=true

查询堆内存大小MaxHeapSize:= 104857600
值得注意的是"="表示默认值,":="表示被用户或JVM修改后的值

换算104857600(Byte)/1024=102400(KB)102400(KB)/1024=100(MB)所以104857600是字节单位

