方法递归就是方法自身调用自身。
注:使用递归的时候,必须添加结束条件,没有结束条件,会发生栈内存溢出错误。
能够使用循环代替递归的尽量使用循环,循环的执行耗费内存少一些,递归耗费内存相对多一些,另外递归使用不当很容易内存溢出,JVM停止工作。当然,只有极少数情况下,只能用递归,其它代码解决不了问题。
stackoverflowError.原因:一直压栈,没有弹栈,栈内存不够用。
当递归有结束条件,并且结束条件合法的时候,就一定不会内存溢出吗?也不一定。可能递归的太深了也会溢出。
方法递归就是方法自身调用自身。
注:使用递归的时候,必须添加结束条件,没有结束条件,会发生栈内存溢出错误。
能够使用循环代替递归的尽量使用循环,循环的执行耗费内存少一些,递归耗费内存相对多一些,另外递归使用不当很容易内存溢出,JVM停止工作。当然,只有极少数情况下,只能用递归,其它代码解决不了问题。
stackoverflowError.原因:一直压栈,没有弹栈,栈内存不够用。
当递归有结束条件,并且结束条件合法的时候,就一定不会内存溢出吗?也不一定。可能递归的太深了也会溢出。