这个想法是帮助确定给定 Java 应用程序的最佳堆栈大小。
可以使用此信息完成的一件事是创建一个堆栈大小范围表,线程可以在退出时对其进行修改,并且可以在应用程序退出时定期转储。
编辑:这是在具有我无法访问探查器访问的真实工作负载的客户机器上运行的上下文中。
EDIT2:作为对一个答案的回应,在(IIRC)每个线程 256Kb 时,我有一段时间想知道这与实际需要的东西有多接近(我也想知道这个问题是否可能不是很相关,因为堆栈空间可能是按需分配)。我们有一个基于消息传递和高度线程化的应用服务器,可在从 ARM 手持设备到八核 Linux 再到中型机和大型机的所有设备上运行 - 了解我们可以在哪里(以及是否)可以交易会很好具有许多消息处理程序的系统上的堆的堆栈空间。
有一些类似的问题很有趣,但它们是本机/操作系统特定的: