使用一组这样的随机输入(20k行):
A B
U Z
B A
A C
Z A
K Z
A Q
D A
U K
P U
U P
B Y
Y R
Y U
C R
R Q
A D
Q Z
Run Code Online (Sandbox Code Playgroud)
找到从A到Z的所有路径.
这个想法是帮助确定给定Java应用程序的最佳堆栈大小.
使用此信息可以完成的一件事是创建一个堆栈大小的范围表,线程可以在它们退出时修改,并且可以在应用程序退出时定期转储.
编辑:这是在具有真实工作负载的客户机器上运行的环境,我无法获取探查器访问权限.
编辑2:回答一个答案,在(IIRC)每个线程256Kb,我想知道现在有多接近现实需要的东西(我也想知道这个问题可能不是很相关,因为堆栈空间可能是根据需要分配).我们有一个基于消息传递和高度线程化的应用服务器,可运行从ARM手持设备到octo-core Linux,到中型和大型机的所有东西 - 我们可以感受到我们可以交易的位置(以及如果)堆栈空间堆栈在具有许多消息处理程序的系统上.
有一些类似的问题值得关注,但它们是原生的/特定于os的: