栈与堆

来源:互联网 发布:玫瑰痤疮 知乎 编辑:程序博客网 时间:2024/06/06 02:52

看了一些资料,c/c++与java对于栈和堆的管理有了一些了解

 

java调用函数的时候要在栈内存放函数的地址,参数以及中间的所有临时变量,放的全是地址或值类型的数据,但对于NEW()产生的以及String类型的引用变量,会在堆内开辟空间,栈内只存放地址。

而对于系统,栈空间分配是一定的,调用函数的时候栈满则会提示OVERFLOW的错误信息,因此,在C++/C中,不要在函数内放大量的数据,如int a[2000000],这样用使栈存放大量的数据,造成OVERFLOW异常。但对于java,由于存放的是地址,所以没有这个限制!

原创粉丝点击