關閉→
當前位置:知科普>IT科技>java堆和棧的區別體現在哪些方面

java堆和棧的區別體現在哪些方面

知科普 人氣:7K

1、功能不一樣

棧內存用來存儲局部變量和方法調用;堆內存用來存儲Java中的對象。

java堆和棧的區別體現在哪些方面

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

如果棧內存沒有可用的空間存儲方法調用和局部變量,JVM會拋出java.lang.StackOverFlowError;如果堆內存沒有可用的空間存儲生成的對象,JVM會拋出java.lang.OutOfMemoryError。

java堆和棧的區別體現在哪些方面 第2張

3、空間大小不一樣

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

java堆和棧的區別體現在哪些方面 第3張

總結:

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

TAG標籤:#哪些方面 #java #