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


1、功能不一样
栈内存用来存储局部变量和方法调用;堆内存用来存储Java中的对象 。

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

文章插图

2、异常错误展现方式不一样
如果栈内存没有可用的空间存储方法调用和局部变量,JVM会抛出java.lang.StackOverFlowError;如果堆内存没有可用的空间存储生成的对象,JVM会抛出java.lang.OutOfMemoryError 。
java栈分为哪几个部分? java堆和栈的区别

文章插图

3、空间大小不一样
栈的内存要小于堆内存,使用递归栈很快就会充满,递归没有及时跳出可能发生StackOverFlowError问题 。
java栈分为哪几个部分? java堆和栈的区别

文章插图

总结:
java中堆和栈在功能、异常错误展现方式、空间大小等方面不一样 。
【java栈分为哪几个部分? java堆和栈的区别】


    特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。