黑马程序员技术交流社区

标题: 求教递归 [打印本页]

作者: sunxiaohong    时间: 2015-5-9 14:18
标题: 求教递归
1. 关于方法的递归算法,说法正确的是( abd   )
a) 递归就是方法自己调用自己
b) 递归的次数不能过大,否则会导致栈内存溢出
c) 使用递归算法,方法必须有返回值
d) 构造方法不可以使用递归算法



求教,不明白为什么选项b是对的?
递归不应该是导致堆栈溢出么?


作者: 大西洋    时间: 2015-5-9 14:25
堆栈分为两部分,堆内存、栈内存~ b 是对的哦~
作者: sunxiaohong    时间: 2015-5-9 14:36
大西洋 发表于 2015-5-9 14:25
堆栈分为两部分,堆内存、栈内存~ b 是对的哦~

为什么不是堆内存溢出,而是栈内存溢出呢
作者: 大西洋    时间: 2015-5-9 14:49
sunxiaohong 发表于 2015-5-9 14:36
为什么不是堆内存溢出,而是栈内存溢出呢

栈内存,用来存放基本数据类型和引用数据类型的数值~

堆内存,存放的是new关键字实例化的对象和数组;

简而言之,栈内存是用来执行程序的,而堆内存主要是存放对象的~

所以递归次数过多,栈内存就会被消耗殆尽~ 然后就溢出啦~
作者: 大兵在海边    时间: 2015-5-9 15:00
红姐上面理解的很对啊!
作者: sunxiaohong    时间: 2015-5-9 15:06
大兵在海边 发表于 2015-5-9 15:00
红姐上面理解的很对啊!

我去,你怎么知道是我?好吧,估计是名字暴露了,,
作者: 大可乐    时间: 2015-5-9 15:07
顶一下、、、、、、、、、、、
作者: 大兵在海边    时间: 2015-5-9 15:11
sunxiaohong 发表于 2015-5-9 15:06
我去,你怎么知道是我?好吧,估计是名字暴露了,,






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2