欢迎光临
我们一直在努力

java堆和栈的区别(java栈分为哪几个部分?)

1、功能不一样

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

java堆和栈的区别(java栈分为哪几个部分?)

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

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

java堆和栈的区别(java栈分为哪几个部分?)

3、空间大小不一样

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

java堆和栈的区别(java栈分为哪几个部分?)

总结:

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

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《java堆和栈的区别(java栈分为哪几个部分?)》
文章链接:https://www.6buu.com/399110.html
本站资源仅供个人学习交流,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发