黑马程序员技术交流社区
标题:
用递归时内存溢出
[打印本页]
作者:
youngster
时间:
2013-5-9 20:42
标题:
用递归时内存溢出
本帖最后由 Sword 于 2013-5-12 19:04 编辑
视频里讲递归次数如果过多会出现内存溢出,
递归重复创建的方法时存在栈内存中吗?栈内存的大小是取决于什么。
栈内存和堆内存中都可以存储什么数据。
作者:
Jacky_Chen1990
时间:
2013-5-9 21:59
这个问题有点复杂。
你可以看下我自己整理的一个知识点。
http://www.jackyonline.org/archives/44
里面有关于栈和堆的区别。另外在递归中,如果递归的次数过大,不建议用递归,而是采取别的手段解决问题。
作者:
Super_Class
时间:
2013-5-9 22:55
内存的划分:
|--寄存器
|--本地方法区
|--方法区
|--栈内存
存储的都是局部变量
|--堆内存
存储的是对象(数组也是Object对象)
|——堆里边的变量在创建的时候都会默认初始化
boolean初始化为false
int类型初始化为0
|——堆内存中的对象使用过, 就会变成垃圾。
JVM的垃圾回收机制会不定时启动,回收堆内存的垃圾
|——数组角标越界,编译不会出错,运行出错。
当引用没有任何实体指向时,会发生空指针异常。
作者:
Jacky_Chen1990
时间:
2013-5-9 23:16
Super_Class 发表于 2013-5-9 22:55
内存的划分:
|--寄存器
|--本地方法区
这个回答得好。支持下。
作者:
殇_心。
时间:
2013-5-11 22:45
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2