美文网首页
JVM(1)- 参数

JVM(1)- 参数

作者: Jovi_Mac | 来源:发表于2020-05-16 14:01 被阅读0次

    一、Java启动参数共分为三类:

    1. 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;
    2. 非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;
    3. 非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;

    1.Boolean类型XX参数

    公式:-XX:+ 或者-XX:- 某个属性值(+表示开启,-表示关闭)

    1.1是否打印GC收集细节

    -XX:+PrintGCDetails
    -XX:-PrintGCDetails
    

    1.2是否使用串行垃圾收集器

    -XX:+UseSerialGC
    -XX:-UserSerialGC
    

    代码验证:


    没有配置任何参数
    验证结果是"-PrintGCDetails" 配置参数
    验证结果是"+PrintGCDetails "

    jps -l 表示查看java运行的进程号
    jinfo -flag PrintGCDetails 表示查看JVM是否配置PrintGCDetails参数

    2.KV设值类型

    公式:-XX: key(属性)= value(属性值)


    查看MetaspaceSize默认值

    XX:MetaspaceSize=21807104(大约22MB)


    设置MetaspaceSize=1024m
    验证成功

    3.jinfo查看当前运行程序配置

    公式:jinfo -flag 配置项 进程号

    jinfo -flags 进程号,查看JVM所有配置项(默认+人工配置)

    注意点:这里使用mac在java8进行jinfo查询的时候有可能会有问题Can't attach symbolicator to the process

    4.如何解释-Xms和-Xmx参数属于XX参数

    -Xms和-Xmx两个经典参数看起既不像Boolean类型XX参数,也不像KV设值类型XX参数。那为什么-Xms和-Xmx又属于XX参数?

    -Xms = -XX:InitialHeapSize
    -Xmx = -XX:MaxHeapSize
    

    二、查看JVM默认参数

    java -XX:+PrintFlagsInitial(查看jvm未更改的默认参数)

    java -XX:+PrintFlagsInitial >> test.txt 也可以输出到一个文件进行查询

    相关文章

      网友评论

          本文标题:JVM(1)- 参数

          本文链接:https://www.haomeiwen.com/subject/jozmwhtx.html