A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© aduucool 中级黑马   /  2014-8-1 22:22  /  1102 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在递归中,函数名是一样的,也就是在内存只是开辟栈内存中开辟一个空间,为什么还会开辟多个空间存在内存溢出。;疑惑啊,求解释。

5 个回复

倒序浏览
栈内存也有溢出的时候
回复 使用道具 举报
递归中。当条件满足后,会又自动调用自己,这样,前面的函数就挂起。虽然调用的是我自己,但是还是会在栈内存开辟一个新的空间,如此循环。栈内存资源是有限的。
回复 使用道具 举报
如果我没记错,方法函数应该在方法区中,你在内存中运行程序,如果内存中的程序中调用到方法,那么他会从方法区中将这个方法加入内存,在这个内存中的方法中运行,当出现递归时,它会跳转到另一块内存中将这个方法区中的内容继续调用进内存,长此以往就会内存溢出。
回复 使用道具 举报
Moriarty 发表于 2014-8-1 23:01
如果我没记错,方法函数应该在方法区中,你在内存中运行程序,如果内存中的程序中调用到方法,那么他会从方 ...

意思是是堆内存溢出了,而不是栈内存溢出
回复 使用道具 举报
我说错了我上面说的内存就是堆栈,不好意思误导你了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马