万合天宜 发表于 2015-2-22 19:30
形参只是用来传递的吧,关键是实参不同,这块我也不太清楚哦。还有堆栈溢出是因为递归次数太多了,一般递归 ...
mengxiang1993 发表于 2015-2-22 19:50
形参就是局部变量啊,会在栈内存中声明变量,名字相同难道也可以,一般在一个方法内,声明相同的名字的局 ...
alvis2015 发表于 2015-2-22 20:46
我说说我的看法吧,不知道对不对,仅供参考:
形式类型:是你在定义方法时括号里面的参数。
如:public vo ...
wdhm5423 发表于 2015-2-22 21:37
递归过程,变量在内存中堆栈,难以释放。
以上例子中,递归每次创建4M字节,作为一个变量堆在栈内存中不能 ...
fantacyleo 发表于 2015-2-22 21:26
每次递归调用,都会在栈中开辟新空间,用于保存新的局部变量值,栈的长度于是不断增长,超过一定长度就产生 ...
mengxiang1993 发表于 2015-2-22 21:46
为什么跟形参没关系呢?形参属于局部变量,会在栈内存中开辟内存吧
mengxiang1993 发表于 2015-2-22 21:47
嗯,这会涉及到同一个方法局部变量重名吧,这个怎么解释?
mengxiang1993 发表于 2015-2-22 21:16
那么造成栈内存溢出的原因是什么?难道不是一直在产生新的局部变量吗? ...
alvis2015 发表于 2015-2-23 09:07
栈内存溢出的原因好像是递归函数每一次调用,都要在内存中开辟出一个空间来,如果递归不返回的话,就会一 ...
alvis2015 发表于 2015-2-23 09:19
看代码
上面这段代码也是递归,递归方法中没有声明变量,但内存仍会溢出。
sofeel 发表于 2015-2-23 00:12
一,先谈参数。
形参、实参都是参数,不同在于实参是有具体指向的引用,形参需要实参来激活。当实参把自己 ...
万合天宜 发表于 2015-2-22 19:30
形参只是用来传递的吧,关键是实参不同,这块我也不太清楚哦。还有堆栈溢出是因为递归次数太多了,一般递归 ...
lwj123 发表于 2015-2-23 12:21
形参只是一个接收数据的一个东西,最重要的是你在递归里改变的作为递归调用的实参不同即可。
每一次递归 ...
mengxiang1993 发表于 2015-2-23 10:24
方法区,也叫静态域。存放在对象中用static定义的静态成员(即静态变量,同理,如果该静态变量是基本类型 ...
lwj123 发表于 2015-2-23 12:21
形参只是一个接收数据的一个东西,最重要的是你在递归里改变的作为递归调用的实参不同即可。
每一次递归 ...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |