11.3.jvm运行参数-非标准参数详解

-X参数

-X参数是非标准参数,在不同版本的jvm中,参数可能会有所不同,可以通过java -X查看非标准参数

-Xint、-Xcomp、-Xmixed

  • -Xint在解释模式(interpreted mode)下,-Xint标记会强制JVM执行所有的字节码,当然这会降低运行速度,通常低10倍或更多

  • -Xcomp参数与它( -Xint )正好相反,JVM在第一次使用时会把所有的字节码编译成本地代码,从而带来最大程度的优化

  • -Xmixed是混合模式,将解释模式与编译模式进行混合使用,由jvm自己决定,这是jvm默认的模式,也是推荐使用的模式

-XX参数

-XX参数也是非标准参数,主要用于jvm的调优和debug操作

-XX参数的使用有2种方式,一种是boolean类型,一种是非boolean类型

  • boolean类型

    格式:-XX:[+-]

    如︰-XX:+DisableExplicitGC表示禁用手动调用gc操作,也就是说调用System.gc()无效

  • 非boolean类型

    格式:-XX

    如∶-XX:NewRatio=1表示新生代和老年代的比值

-Xms与-Xmx参数

-Xms与-Xmx分别是设置jvm的堆内存的初始大小和最大大小

  • -Xmx2048m :等价于-XX:MaxHeapSize,设置JVM最大堆内存为2048M

  • -Xms512m :等价于-XX:InitialHeapSize,设置JVM初始堆内存为512M

查看jvm的运行参数

  • 运行java命令时打印参数︰

    需要添加-XX:+PrintFlagsFinal参数即可

  • 查看正在运行的jvm参数︰

    需要借助于jinfo命令查看

Last updated

Was this helpful?