JVM参数类型及如何查看默认参数

闲言少叙,时间紧迫。

JVM的参数类型:

1、标配参数 -version、-help、java -showversion 等在这里插入图片描述

2、X参数(了解)

在这里插入图片描述

3、XX参数

(1)- Boolean类型

公式: -XX:+ 或者 - 某个属性值
+表示开启
-表示关闭
先来学习一下如果查看一个正在运行中的java程序,查看他的某个jvm参数是否开启?具体值是多少?
jps -l
jinfo -flag 某个属性 进程编号
以查看是否开启打印GC日志为例
在这里插入图片描述
可以看到 -PrintGCDetails 表示此时并未开启打印GC日志
现在我们将其开启。
在这里插入图片描述
再来看一遍
在这里插入图片描述
了解?yes~
再提一点,是否串行垃圾回收器
-XX:-UseSerialGC、-XX:+UseSerialGC

(2)-KV设值类型

公式:-XX:(属性) key=(属性值) value
先以MetaspaceSize 为例:
先查看元空间大小为默认为多少
第一步依旧是先查出进程编号
jps -l
第二步:
在这里插入图片描述
然后我们再来重新设值
在这里插入图片描述
在这里插入图片描述
再以MaxTenuringThreshold(young区的对象活过多少次之后才能进入老年区)为例
还是先来看看默认值
在这里插入图片描述
可以看到默认值为15
步骤跟上面一样,就不演示了。

如何来查看当前运行程序的配置信息

上面其实已经用到了
1、jinfo -flag 属性 进程编号
2、jinfo -flags 进程编号
为了这个演示费了九牛二虎之力。
查阅之后发现应该是jdk版本的问题,所以下载配置了jdk12之后,重启idea,成功运行。
在这里插入图片描述

坑题

-Xms 和 -Xmx 属于哪种类型?
在这里插入图片描述
只是因为这个常用,所以为了便捷使用这样写。即这两个参数属于-XX

JVM盘点查看默认参数

1、查看初始默认(只截取了一小部分)
java -XX:+PrintFlagsInitial
在这里插入图片描述
2、主要查看修改更新
java -XX:+PrintFlagsFinal -version
大致相同于java -XX:+PrintFlagsInitial
在这里插入图片描述
这一点我们需要注意;
:=和: 有什么区别呢?
无: 就是没有被改过的初始值
如果有:是jvm加载时或者人为修改过。

在这里插入图片描述
这样能在启动程序中修改值,能够很好的看出:=和=的区别
在这里插入图片描述
自己来搞一遍
在这里插入图片描述
来试试修改一个MetaspaceSize在这里插入图片描述
java -XX:+PrintFlagsFinal -XX:MetaspaceSize=512m Main
在这里插入图片描述
看到了吗,从 = 变为 :=

好,继续。
3、接下来看如何打印命令行参数
java -XX:+PrintCommandLineFlags -version
在这里插入图片描述
可以看出java8 默认的垃圾回收器 是并行gc。

发布了51 篇原创文章 · 获赞 11 · 访问量 1752

猜你喜欢

转载自blog.csdn.net/weixin_45276914/article/details/105539561