-Xms、-Xmx、-Xmn和-Xss是Java虚拟机中比较重要的几个参数设置。为了更方便理解,在此之前有必要先交代一下VM的参数的分类。
JVM参数的分类
JVM参数分为三类:
-
标准VM参数
如:-verbose:gc
-X
非标准VM参数。不保证所有VM都支持
如:-Xmn、-Xmx
-XX:
非稳定的VM参数。一般都是高级特性
如:-XX:PrintGCDetails
-Xms等参数属于上述第二类。
-Xms
用于设置:堆的初始化大小
助记单词:ms -> memory startup
-Xmx
用于设置:堆的最大内存数
助记单词:mx -> memory maximum
-Xmn
用于设置:堆中新生代的初始值和最大值。
等价于将 -XX:NewSize 和 -XX:MaxNewSize 设置为同样大小。
助记单词:mn -> memory nursery / new
nursery: n. 幼儿园
-Xss
用于设置:线程栈大小。
等价于 -XX:ThreadStackSize
助记单词:ss -> stack size
总结
本篇的写作目的,旨在揭示每个参数对应的单词缩写的意义,加深对其名称和作用的记忆。同时也介绍了JVM参数的分类,并附上了相应的示例。