JVM 选项 -Xss - 它究竟做了什么?

新手上路,请多包涵

在这里 说 -Xss 用于“设置线程堆栈大小”,它究竟是什么意思?谁能帮我理解这一点?

原文由 instantsetsuna 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 963
2 个回答

Java 应用程序中的每个线程都有自己的 堆栈。堆栈用于保存返回地址、函数/方法调用参数等。因此,如果一个线程倾向于通过递归算法处理大型结构,它可能需要一个大堆栈来存储所有这些返回地址等。使用 Sun JVM,您可以通过该参数设置该大小。

原文由 T.J. Crowder 发布,翻译遵循 CC BY-SA 2.5 许可协议

它确实设置了 JVM 上的堆栈大小。

在以下两种情况中的任何一种情况下,您都应该触摸它:

  • StackOverflowError (堆栈大小大于限制),增加值
  • OutOfMemoryError: unable to create new native thread (线程太多,每个线程都有一个大栈),减少它。

后者通常在你的 Xss 设置太大时出现——然后你需要平衡它(测试!)

原文由 Adam Adamaszek 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题