![]() |
1
82
隐马尔可夫模型。。。它适用于我,堆栈远小于999MB:
(Windows JDK 7、build 17.0-b05 client VM和Linux JDK 6-与您发布的版本信息相同) |
![]() |
2
11
我假设您通过堆栈跟踪中的循环行来计算“1024的深度”? 显然,Throwable中的堆栈跟踪数组长度似乎限制为1024。 请尝试以下程序:
|
![]() |
3
9
如果您想使用线程堆栈大小,您需要查看热点JVM上的-Xss选项。在非热点VM上可能会有所不同,因为JVM的-X参数是特定于分布的IIRC。
在热点上,这看起来像
类型
Does the JVM prevent tail call optimizations? ). 尝试重构上面的阶乘代码,以使用while循环而不是递归方法调用。 |
![]() |
4
8
控制进程内堆栈大小的唯一方法是启动一个新进程
|
![]() |
5
3
添加此选项
|
![]() |
6
2
注意:使用-Xss设置每个线程的堆栈大小,这是一个非常糟糕的主意。 另一种方法是字节码操作,改变代码如下;
如果n>127的每个答案都是0。这样可以避免更改源代码。 |
![]() |
7
1
我做的 Anagram excersize ,就像 Count Change 有问题,但有5万面额(硬币)。我是 not sure that it can be done iteratively
您可以看到,当向线程分配更多的堆栈时,堆栈可以指数级地增长得更深。 |
![]() |
8
0
1<<15深度的递归
我建议不要尝试。堆栈的大小将是
|
![]() |
9
0
看看这篇文章,它对函数和代码进行了一些分析: http://threebrothers.org/brendan/blog/stirlings-approximation-formula-clojure/ |