JVM线程的栈在64位Linux *** 作系统上的默认大小是多少

JVM线程的栈在64位Linux *** 作系统上的默认大小是多少,第1张

不显式设置-Xss或-XX:ThreadStackSize时,在Linux x64上ThreadStackSize的默认值就是1024KB,给Java线程创建栈会用这个参数指定的大小。这是前一块代码的意思。

如果把-Xss或者-XX:ThreadStackSize设为0,就是使用“系统默认值”。而在Linux x64上HotSpot VM给Java栈定义的“系统默认”大小也是1MB。

所以这个条件下普通Java线程的默认栈大小怎样都是1MB。

当然有限制,你可以使用命令 ulimit -s 查看大小。

因为物理空间存在着大小限制,因此栈空间肯定也是有大小限制的,不然程序还不崩了。

甚至,你可以测试一下,分配一个超大的栈空间(方法是,在函数中,定义一个超大空间的数组),然后看是否可以运行,当达到一个限制的时候,程序是无法正常运行的

和 *** 作系统有关系

不同的 *** 作系统对于栈的默认大小是有规定的。对于Linux系统,默认的栈空间是10M。对于Windows系统,默认的空间是1M。但是栈的空间是可以调整的,在编译器的编译属性更改


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6067195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存