1、功能不一样
栈内存用来存储局部变量和方法调用;堆内存用来存储Java中的对象。
2、异常错误展现方式不一样
如果栈内存没有可用的空间存储方法调用和局部变量,JVM会抛出java.lang.StackOverFlowError;如果堆内存没有可用的空间存储生成的对象,JVM会抛出java.lang.OutOfMemoryError。
3、空间大小不一样
栈的内存要小于堆内存,使用递归栈很快就会充满,递归没有及时跳出可能发生StackOverFlowError问题。
总结:
java中堆和栈在功能、异常错误展现方式、空间大小等方面不一样。
本站声明:本站部分文章来自网络,由用户上传分享,如若内容侵犯了您的合法权益,可联系我们进行处理。文章仅供大家学习与参考,不**本站立场。