java异常体系 C语言调用函数时,什么情况会出现栈溢出,栈溢出会出现什么结果?
浏览量:1239
时间:2021-03-14 05:11:52
作者:admin
C语言调用函数时,什么情况会出现栈溢出,栈溢出会出现什么结果?
调用函数的形式参数是否太多?一般来说,函数的参数存储在堆栈中。当然,也可以应用于堆。如果形式参数太多,则会发生堆栈溢出,并且会更频繁地发生递归。堆栈溢出将导致段错误,这可能会占用系统的堆栈(就好像无法访问它一样)。。。错了,告诉我
1。在死循环中定义局部变量会导致堆栈溢出,例如以下定义:
while(true){
int x=1;
int arr[]=New int[10];
}]因为堆栈空间存储局部变量、参数和其他对象,所以堆栈有一个默认深度,我记得是128M(内存问题,请指出)如果错误)。
2. 在启动循环中定义对象会导致堆内存溢出,如以下定义:
(true){
person P=new person()
}
对象的生成会占用时间和空间,因为内存空间有限,迟早会导致堆内存溢出。
所以我们写代码是为了养成一个好习惯,不在特殊情况下,不在循环中定义局部变量和对象。
java异常体系 java栈溢出解决方法 栈溢出的原因及解决办法
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。