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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© youngster 中级黑马   /  2013-5-9 20:42  /  1942 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Sword 于 2013-5-12 19:04 编辑

视频里讲递归次数如果过多会出现内存溢出,
递归重复创建的方法时存在栈内存中吗?栈内存的大小是取决于什么。
栈内存和堆内存中都可以存储什么数据。

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

4 个回复

倒序浏览
这个问题有点复杂。
你可以看下我自己整理的一个知识点。
http://www.jackyonline.org/archives/44

里面有关于栈和堆的区别。另外在递归中,如果递归的次数过大,不建议用递归,而是采取别的手段解决问题。
回复 使用道具 举报
内存的划分:
                                |--寄存器
                                |--本地方法区
                                |--方法区
                                |--栈内存
                                        存储的都是局部变量
                                |--堆内存
                                        存储的是对象(数组也是Object对象)       
                                        |——堆里边的变量在创建的时候都会默认初始化
                                                boolean初始化为false
                                                int类型初始化为0
                                        |——堆内存中的对象使用过,        就会变成垃圾。
                                        JVM的垃圾回收机制会不定时启动,回收堆内存的垃圾
                                        |——数组角标越界,编译不会出错,运行出错。
                                                当引用没有任何实体指向时,会发生空指针异常。

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
Super_Class 发表于 2013-5-9 22:55
内存的划分:
                                |--寄存器
                                |--本地方法区

这个回答得好。支持下。
回复 使用道具 举报
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马