Java面试题——JVM(2)

题目:你说你做过JVM调优和参数配置,请问如何盘点查看JVM系统默认值

JVM参数类型

标配参数

-version
-help
java -showversion

X参数(了解)

-Xint:解释执行
-Xcomp:第一次使用就编译成本地代码
-Xmixed:混合模式
Java面试题——JVM(2)

XX参数(重点)

Boolean类型

公式: -XX:+或者- 某个属性值(+表示开启,-表示关闭)
例子:
是否打印GC收集细节:
Java面试题——JVM(2)

KV设置类型

公式: -XX:属性key=属性值value
例子:修改元空间大小
Java面试题——JVM(2)
Java面试题——JVM(2)

-XX:MaxTenuringThreshold =15 默认15次从young升到old

请问如何盘点查看JVM系统默认值

第一种 查看参数

首先通过jps查看进程号,然后用jinfo -flag 配置项 进程编号查看当前运行程序的配置。

jinfo -flags 进程号查看所有默认参数

第二种 查看JVM默认值

java -XX:+PrintFlagsInitial主要查看默认初始值
java -XX:+PrintFlagsFinal主要查看修改更新
java -XX:+PrintCommandLineFlags打印命令行参数

冒号等号:人为修改参数或jvm加载不一样修改过

坑题:两个经典参数: -Xms和-Xmx

-Xms:等价于-XX:initialHeapSize初始化堆内存
-Xmx:等价于-XX:MaxHeapSize最大堆内存

默认初始值

默认初始内存是电脑内存的1/4
初始堆内存大小为电脑内存的1/64

Java面试题——JVM常见面试题目录