當前位置:係統粉 > 電腦問答 > 其他問答 > 內存泄漏和內存溢出的區別誰了解?

內存泄漏和內存溢出的區別誰了解?

提問者:____瘋瘋瘋子°  |  瀏覽 次  |  提問時間:2017-03-17  |  回答數量:4

內存泄漏和內存溢出的區別誰了解?1.內存泄漏是指分配出去的內存無法回收了 內存泄漏指由於疏忽或錯誤造成程序未能釋放已經不再使用的內存的情況,是應用程序分配某段內存後,由於設計錯誤,失去了對該段內存的控製,因而造成...

已有4條答案
liuwenj123456

liuwenj123456

回答數:11794  |  被采納數:59

2017-03-17 20:01:07
1.內存泄漏是指分配出去的內存無法回收了 內存泄漏指由於疏忽或錯誤造成程序未能釋放已經不再使用的內存的情況,是應用程序分配某段內存後,由於設計錯誤,失去了對該段內存的控製,因而造成了內存的浪費。
2.內存溢出是指程序要求的內存,超出了係統所能分配的範圍,從而發生溢出。 內存溢是指在一個域中輸入的數據超過它的要求而且沒有對此作出處理引發的數據溢出問題,多餘的數據就可以作為指令在計算機上運行。通常在運行大型軟件或遊戲時,軟件或遊戲所需要的內存遠遠超出了你主機內安裝的內存所承受大小,就叫內存溢出。此時軟件或遊戲就運行不了,係統會提示內存溢出,有時候會自動關閉軟件,重啟電腦或者軟件後釋放掉一部分內存又可以正常運行該軟件或遊戲一段時間
讚 1179
緣分的小平

緣分的小平

回答數:24214  |  被采納數:51

2017-03-18 11:29:14
內存溢出 out of memory,是指程序在申請內存時,沒有足夠的內存空間供其使用,出現out of memory;比如申請了一個integer,但給它存了long才能存下的數,那就是內存溢出。內存泄露 memory leak,是指程序在申請內存後,無法釋放已申請的內存空間,一次內存泄露危害可以忽略,但內存泄露堆積後果很嚴重,無論多少內存,遲早會被占光。memory leak會最終會導致out of memory!內存溢出就是你要求分配的內存超出了係統能給你的,係統不能滿足需求,於是產生溢出。 內存泄漏是指你向係統申請分配內存進行使用(new),可是使用完了以後卻不歸還(delete),結果你申請到的那塊內存你自己也不能再訪問(也許你把它的地址給弄丟了),而係統也不能再次將它分配給需要的程序。一個盤子用盡各種方法隻能裝4個果子,你裝了5個,結果掉倒地上不能吃了。這就是溢出!比方說棧,棧滿時再做進棧必定產生空間溢出,叫上溢,棧空時再做退棧也產生空間溢出,稱為下溢。就是分配的內存不足以放下數據項序列,稱為內存溢出.
讚 2421
舊丶巴黎heart

舊丶巴黎heart

回答數:24668  |  被采納數:25

2017-03-17 11:34:11
簡單的說:
內存泄漏是指程序由於錯誤或漏洞造成的內存占用過多,或占用內存後無法釋放
內存溢出是指已有的數據超過了其獲得到的內存所能存儲的範圍,比如用一個字節存放1000這個數字就屬於內存溢出
讚 2466
安冥

安冥

回答數:4421  |  被采納數:1

2017-03-18 18:41:18
你好,內存溢出就是內存越界。內存越界有一種很常見的情況是調用棧溢出(即stackoverflow),雖然這種情況可以看成是棧內存不足的一種體現。泄漏是說你的程序有BUG 導致內存不釋放,希望我的回答能夠幫助到你。
讚 442
解決方法
版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航