jvm参数分类

JVM参数的分类

常用的JVM参数可以大致的分为三类,下边简单的将JVM的参数做一个分类,作为一个JVM参数的简单总结。

JVM标准参数

JVM的标准参数是指的在各个JDK版本中都比较稳定的,不会变动的参数,一般是针对jdk全局的参数。

比如

  • -help
  • -server -client
  • -version -showversion
  • -cp -classpath

这种参数称之为标准参数。

JVM非标准化参数

JVM非标准化参数指的是在各个jdk版本中会有略微变化的参数,这里可以分为 -X参数 和 -XX参数

-X参数

比如-X参数有:

  • -Xint : 解释执行
  • -Xcomp :第一次使用就编译成本地代码(java不是严格的解释性或者编译性执行的语言)
  • -Xmixed : 上面两种混合模式,有编译器自己去优化选择。

可以看到当前电脑上jdk的version中可以显示这个参数的值:


这里是mix模式,我们可以通过命令java -Xint -version来将mode调整为int模式:

-XX参数

-XX参数使我们平常使用最多的JVM参数,主要用于调优和Debug。

常见的-XX参数有

  1. Boolean类型

格式:-XX:[+/-]<name> 表示启动或者禁用了name参数

比如:-XX:+UseConcMarkSweepGC表示启用了CMS垃圾回收器

-XX:+UseG1GC 表示启用了G1垃圾回收器

  1. 非Boolean(Key-Value类型)

格式:-XX:<name>=<value> 表示name参数的值是value

比如:-XX:MaxGCPauseMills=500表示GC最大的停顿时间是500

-XX:GCTimeRatio=19

-XX参数常见的参数还有一种缩写模式(虽然是-X开头,但是其实是-XX参数)

比如:

  • -Xms 等价于-XX:InitialHeapSize 表示初始化堆大小
  • -Xmx 等价于-XX:MaxHeapSize 表示最大堆的大小
  • -Xss 等价于 -XX:ThreadStackSize 线程堆栈的大小

可以使用 jinfo -falg <参数名称> 命令行工具去查看当前java进程的JVM参数。

比如:

jinfo -flag MaxHeapSize pid

之后会介绍命令行工具去查看对应的JVM参数。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值