在递归调用期间,获取或计算 Java 中可用的剩余堆栈内存的最佳方法是什么?
(我试图对深度递归调用进行分段,以尽可能多地使用堆栈(为了速度性能),但不会遇到堆栈溢出。
我已经完成了一个“堆”版本,它带来了速度性能开销,这就是我进行此优化的原因。)
没有办法以便携的方式做到这一点。
这不仅是特定于操作系统的,实际上堆栈的最大大小受到多种限制(ulimit -c可用虚拟内存量-Xss和-XX:ThreadStackSize设置等)。这使得很难知道哪个约束将首先受到影响,即使您可以可靠地测量到目前为止消耗了多少堆栈空间。
| 归档时间: |
|
| 查看次数: |
356 次 |
| 最近记录: |