我一直在尋找最近的2000堆遞歸函數調用,並想知道如何定義在Java堆棧中的函數調用數量的限制?在Java中,堆棧中函數調用的數量是如何定義的?
3
A
回答
5
該限制是基於分配給每個線程的最大堆棧內存量。您可以使用-Xss JVM參數配置此限制。請參見以下鏈接瞭解詳情:
1
正如有人說,這取決於可用的JVM內存數量。
理論上你可以從內存中計算函數調用的數量,如果(這是一個很大的if)你知道函數和它們的內存消耗。由於(未優化的)遞歸函數必須將所有的本地參數和參數放在堆棧上,這非常依賴於該函數。這意味着,如果在堆棧中沒有本地數據和一個int參數的情況下獲得X函數,則只有在使用2個int參數和2個int局部變量時纔會得到X/4(忽略其他堆棧幀開銷,例外,返回地址等)。 ..)。
相關問題
- 1. 如何在Java中定義堆棧
- 2. DebugDiag調用堆棧不顯示調用堆棧中函數的行數
- 3. 如何獲取函數在調用堆棧中的位置?
- 4. 函數調用,堆棧
- 5. 如何在GCC中不使用堆棧和函數調用?
- 6. 調用已經在調用堆棧中的函數
- 7. 如何測量Rust中的函數堆棧使用情況?
- 8. 如何讓堆棧在函數調用中工作?
- 9. 如何在Windows函數調用中設置堆棧?
- 10. Bigcommerce Stencil堆棧中定義的這些scss函數在哪裏?
- 11. 在haskell中定義此堆棧類型的仿函數
- 12. 如何用Java定義分類堆棧
- 13. 如何在調用函數時在MIPS堆棧中保留全局變量?
- 14. 在PhantomJS中,函數調用堆棧限制是什麼?
- 15. 在java中定義函數調用中的數組
- 16. 函數調用時如何將本地變量組織在堆棧中?
- 17. 如何在CoffeeScript中新定義的函數上調用函數
- 18. 數組如何在Java中使用堆棧和堆空間?
- 19. 如何定義Windows x86堆棧中的堆棧?
- 20. 函數調用中的堆棧對象何時構建?
- 21. 如何釋放堆棧中間函數調用內存
- 22. main函數的C函數沒有推動棧中的堆棧
- 23. 構造函數調用是如何在Java中決定的?
- 24. 在調用堆棧中顯示特殊的原始函數
- 25. 在C/C++中瞭解函數調用的堆棧框架?
- 26. 在Haskell函數中使用堆棧
- 27. 堆棧在java中使用堆棧
- 28. 調用堆棧 - 函數返回調用函數的局部變量引用,然後調用另一個函數
- 29. Hive中的堆棧函數:如何指定多個別名?
- 30. 如何調用前一個函數中定義的變量?
你有沒有想過重新設計它是迭代? – Milhous