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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mengxiang1993   /  2015-2-22 18:39  /  5412 人查看  /  29 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

sofeel 发表于 2015-2-23 00:12
一,先谈参数。
形参、实参都是参数,不同在于实参是有具体指向的引用,形参需要实参来激活。当实参把自己 ...

方法区,也叫静态域。存放在对象中用static定义的静态成员(即静态变量,同理,如果该静态变量是基本类型则将变量名和值存入静态域,如果是引用类型则指向new出的对象)。静态方法也存在方法区?
为什么还分main方法区?
回复 使用道具 举报
万合天宜 发表于 2015-2-22 19:30
形参只是用来传递的吧,关键是实参不同,这块我也不太清楚哦。还有堆栈溢出是因为递归次数太多了,一般递归 ...

形参只是一个接收数据的一个东西,最重要的是你在递归里改变的作为递归调用的实参不同即可。
每一次递归都会开辟一段新的内存空间,如果次数过多,就不宜做递归,这样会发生内存溢出
回复 使用道具 举报
lwj123 发表于 2015-2-23 12:21
形参只是一个接收数据的一个东西,最重要的是你在递归里改变的作为递归调用的实参不同即可。
每一次递归 ...

搜嘎~~了解了解了
回复 使用道具 举报
形参名字是什么不重要的,一个函数循环递归,会不断消耗系统资源啊,内存是有限的
回复 使用道具 举报
因为一直调用自己会不停创建新的空间,所以当内存不够时,就会出现内存溢出。
回复 使用道具 举报
mengxiang1993 发表于 2015-2-23 10:24
方法区,也叫静态域。存放在对象中用static定义的静态成员(即静态变量,同理,如果该静态变量是基本类型 ...

new出的对象存在堆中。被static修饰的成员存在方法区中,方法区分静态和一般。
这些所做的仅仅是把数据存起来。
存好之后,要开始运算。运算都是在栈内存的main中,因为它是程序的入口。存储和运算是分开的。

我是猜想的。你可以继续思考,不要受我影响。
回复 使用道具 举报
过来看看
回复 使用道具 举报
lwj123 发表于 2015-2-23 12:21
形参只是一个接收数据的一个东西,最重要的是你在递归里改变的作为递归调用的实参不同即可。
每一次递归 ...

我现在就是想知道到底是哪块的内存溢出了?静态方法是存在方法区?
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马