Java面试题——JVM(3)

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

-Xms、-Xmx

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

-Xss

-Xss(-XX:ThreadStackSize ):设置单个线程栈的大小,一般默认为512k~1024k
windows下显示结果如下:

我使用的是mbp,显示出为1024.
在这里插入图片描述
windows为什么默认为0?代表用的是系统出厂默认值。(下图为官网描述信息)
在这里插入图片描述

-Xmn

-Xmn:设置年轻代大小

-XX:MetaspaceSize

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

典型配置案例

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

XX:+PrintGCDetails

打印垃圾回收具体信息
GC日志信息:

Full GC日志信息:
在这里插入图片描述
在这里插入图片描述

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

XX:SurvivorRadio

调整Eden:S0:S1的比例,默认为8:1:1,S0和S1相等,调整的是Eden和S之间的比例。
在这里插入图片描述

XX:NewRadio

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

XX:MaxTenuringThreshold

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

发布了18 篇原创文章 · 获赞 0 · 访问量 423

猜你喜欢

转载自blog.csdn.net/qq_33805483/article/details/104105296