更新時間:2020-08-28 08:40:12 來源:動力節(jié)點 瀏覽2158次
Java堆棧對大家來說早已熟悉,但是兩者之間的差別你真的知道嗎?Java堆棧的區(qū)別如下:
1. 功能不同
棧內(nèi)存用來存儲局部變量和方法調(diào)用。
而堆內(nèi)存用來存儲Java中的對象。無論是成員變量,局部變量,還是類變量,它們指向的對象都存儲在堆內(nèi)存中。
2. 共享性不同
棧內(nèi)存是線程私有的。
堆內(nèi)存是所有線程共有的。
3. 異常錯誤不同
如果棧內(nèi)存或者堆內(nèi)存不足都會拋出異常。
棧空間不足:java.lang.StackOverFlowError。
堆空間不足:java.lang.OutOfMemoryError。
4. 空間大小
棧的空間大小遠遠小于堆的
通過上述大家對Java堆棧的區(qū)別已經(jīng)有所了解,在Java堆棧的教程中,掌握堆棧的應用也是很重要的,大家可不要忽略。