java堆和棧的區別是啥
- IT科技
- 關注:2.58W次
1、功能不一樣
棧記憶體用來儲存區域性變數和方法呼叫;堆記憶體用來儲存Java中的物件。
2、異常錯誤展現方式不一樣
如果棧記憶體沒有可用的空間儲存方法呼叫和區域性變數,JVM會丟擲java.lang.StackOverFlowError;如果堆記憶體沒有可用的空間儲存生成的物件,JVM會丟擲java.lang.OutOfMemoryError。
3、空間大小不一樣
棧的記憶體要小於堆記憶體,使用遞迴棧很快就會充滿,遞迴沒有及時跳出可能發生StackOverFlowError問題。
總結:
java中堆和棧在功能、異常錯誤展現方式、空間大小等方面不一樣。
標籤:
java
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/44gvp9.html