堆栈溢出错误与无限循环

时间:2014-11-30 21:58:45

标签: java infinite-loop stack-overflow

我知道无限循环错误是什么。堆栈溢出错误是一回事。如果没有,有什么区别?

您也可以提供示例代码吗?

2 个答案:

答案 0 :(得分:3)

如果您有无限(或非常深)递归(函数调用自身)而不是无限循环,那么您将获得堆栈溢出。无论何时调用函数,都会消耗堆栈内存的某些部分。一旦所有堆栈耗尽,就会出现 - 堆栈溢出错误。

答案 1 :(得分:3)

这些不是一回事。无限循环错误处理迭代循环(无递归),其中大多数堆栈溢出错误正在处理递归。

你应该google"什么是堆栈溢出错误":

  

StackOverFlowError的最常见原因是过深或无限递归。在Java中:堆和堆栈在内存中有两个区域。堆栈内存用于存储局部变量和函数调用,而堆内存用于存储Java中的对象。