欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

堆棧溢出和內(nèi)存泄漏的區(qū)別

林雅南2年前30瀏覽0評論

堆棧溢出和內(nèi)存泄漏的區(qū)別?

棧溢出

Java的內(nèi)存結(jié)構(gòu)中,棧的大小不是無限的。大量的方法調(diào)用過程,導致不斷壓棧最終將棧內(nèi)存占滿,產(chǎn)生StackOverflowError錯誤,程序直接終止運行。產(chǎn)生棧溢出的場景:比如不合理(遞歸太深)的遞歸調(diào)用。

內(nèi)存溢出

創(chuàng)建了大量線程、對象,導致垃圾回收器來不及回收,分配的堆內(nèi)存被占滿,產(chǎn)OutOfMemoryError錯誤。產(chǎn)生棧溢出的場景:比如死循環(huán)中創(chuàng)建對象。

內(nèi)存泄漏

當很多對象使用之后已經(jīng)沒有再使用的必要而沒有置為null,導致垃圾回收器無法對其回收,造成內(nèi)存資源的大量浪費,給系統(tǒng)帶來很多不穩(wěn)定因素。

java 內(nèi)存溢出 分析,堆棧溢出和內(nèi)存泄漏的區(qū)別