網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

java堆和棧的區別

欄目: IT科技 / 釋出於: / 人氣:2.4W

1、功能不一樣

棧記憶體用來儲存區域性變數和方法呼叫;堆記憶體用來儲存Java中的物件。

java堆和棧的區別

2、異常錯誤展現方式不一樣

如果棧記憶體沒有可用的空間儲存方法呼叫和區域性變數,JVM會丟擲java.lang.StackOverFlowError;如果堆記憶體沒有可用的空間儲存生成的物件,JVM會丟擲java.lang.OutOfMemoryError。

java堆和棧的區別 第2張

3、空間大小不一樣

棧的記憶體要小於堆記憶體,使用遞迴棧很快就會充滿,遞迴沒有及時跳出可能發生StackOverFlowError問題。

java堆和棧的區別 第3張

總結:

java中堆和棧在功能、異常錯誤展現方式、空間大小等方面不一樣。

Tags:java