1、功能不一樣
棧內存用來存儲局部變量和方法調用;堆內存用來存儲Java中的對象。
2、異常錯誤展現方式不一樣
如果棧內存沒有可用的空間存儲方法調用和局部變量,JVM會拋出java.lang.StackOverFlowError;如果堆內存沒有可用的空間存儲生成的對象,JVM會拋出java.lang.OutOfMemoryError。
3、空間大小不一樣
棧的內存要小于堆內存,使用遞歸棧很快就會充滿,遞歸沒有及時跳出可能發生StackOverFlowError問題。
總結:
java中堆和棧在功能、異常錯誤展現方式、空間大小等方面不一樣。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com