搜索

java栈和堆的区别是什么

发布网友 发布时间:2022-03-23 00:44

我来回答

2个回答

懂视网 时间:2022-03-23 05:05

1、功能不一样

栈内存用来存储局部变量和方法调用;堆内存用来存储Java中的对象。

2、异常错误展现方式不一样

如果栈内存没有可用的空间存储方法调用和局部变量,JVM会抛出java.lang.StackOverFlowError;如果堆内存没有可用的空间存储生成的对象,JVM会抛出java.lang.OutOfMemoryError。

3、空间大小不一样

栈的内存要小于堆内存,使用递归栈很快就会充满,递归没有及时跳出可能发生StackOverFlowError问题。

总结:

java中堆和栈在功能、异常错误展现方式、空间大小等方面不一样。

热心网友 时间:2022-03-23 02:13

栈存储局部变量,堆是实体
栈内存更新速度快于堆
栈内存生命周期结束释放,堆不定时靠垃圾回收机制
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top