JVM常用基础参数栈内存Xss讲解

JVM常用参数
JVM常用基础参数栈内存Xss讲解_第1张图片
-Xss 参数为设置单个线程栈的大小, 一般默认为512K~1024K
其等价于 -XX:ThreadStackSize
栈是用来运行方法的, 堆是用来存储数据.

通过此程序查看栈内存大小

public class MyHelloGc {

    public static void main(String[] args) throws InterruptedException {

        System.out.println("HELLO GC");

        Thread.sleep(Integer.MAX_VALUE);
    }
}

将上面代码运行起来后, 用jinfo命令查看默认的栈大小
jinfo -flag ThreadStackSize 61156

可以看到返回的值是0 , 但其真实值并不是0 , 通过查看jvm官方文档可以看到. 对于Windows操作系统, 其默认值取决于虚拟内存的大小.
对于Linux系统或者OS X 系统, 默认值是1024KB
JVM常用基础参数栈内存Xss讲解_第2张图片
给定栈空间128k的大小, 如下图所示
-Xss128k
JVM常用基础参数栈内存Xss讲解_第3张图片
再次运行程序, 可以查看到栈空间的大小为128k
JVM常用基础参数栈内存Xss讲解_第4张图片

你可能感兴趣的:(面试相关,jvm)