Java面试题——JVM(3)

题目:工作中用过的JVM常用基本配置参数有哪些?

文章目录

-Xms、-Xmx

-Xms(-XX:InitialHeapSize):设置堆的初始空间大小,默认为物理内存的1/64
-Xmx(-XX:MaxHeapSize ):设置堆的最大空间大小,默认为物理内存的1/4

-Xss

-Xss(-XX:ThreadStackSize ):设置单个线程栈的大小,一般默认为512k~1024k
windows下显示结果如下:
Java面试题——JVM(3)
我使用的是mbp,显示出为1024.
Java面试题——JVM(3)
windows为什么默认为0?代表用的是系统出厂默认值。(下图为官网描述信息)
Java面试题——JVM(3)

-Xmn

-Xmn:设置年轻代大小

-XX:MetaspaceSize

设置元空间大小,使用本地内存,永久代在堆里面,默认情况下,元空间仅受本地内存的限制。

典型配置案例

-Xms128m -Xmx4096m -Xss1024k -XX:MetaspaceSize=512m -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:UseSerialGC

XX:+PrintGCDetails

打印垃圾回收具体信息
GC日志信息:
Java面试题——JVM(3)
Full GC日志信息:
Java面试题——JVM(3)
Java面试题——JVM(3)

下面一些只需要在面试中会说,在实际不太需要设置

XX:SurvivorRadio

调整Eden:S0:S1的比例,默认为8:1:1,S0和S1相等,调整的是Eden和S之间的比例。
Java面试题——JVM(3)

XX:NewRadio

配置年轻代与老年代在堆结构的占比
默认新生代占1,老年代占2,年轻代占整个堆的1/3.
-XX:NewRadio=4

XX:MaxTenuringThreshold

设置垃圾的最大年龄。
默认为15

Java面试题——JVM(3)Java面试题——JVM(3) Huntermax25 发布了18 篇原创文章 · 获赞 0 · 访问量 431 私信 关注
上一篇:GC--日志分析


下一篇:优秀Java程序员必知必会的网络基础,终获offer