国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

內存溢出和內存泄漏

2019-11-08 01:33:20
字體:
來源:轉載
供稿:網(wǎng)友
內存溢出 out of memory,是指程序在申請內存時,沒有足夠的內存空間供其使用,出現(xiàn)out of memory;比如申請了一個integer,但給它存了long才能存下的數(shù),那就是內存溢出。內存泄露 memory leak,是指程序在申請內存后,無法釋放已申請的內存空間,一次內存泄露危害可以忽略,但內存泄露堆積后果很嚴重,無論多少內存,遲早會被占光。

因此,memory leak會最終會導致out of memory!

內存溢出就是你要求分配的內存超出了系統(tǒng)能給你的,系統(tǒng)不能滿足需求,于是產(chǎn)生溢出。

內存泄漏是指你向系統(tǒng)申請分配內存進行使用(new),可是使用完了以后卻不歸還(delete),結果你申請到的那塊內存你自己也不能再訪問(也許你把它的地址給弄丟了),而系統(tǒng)也不能再次將它分配給需要的程序。一個盤子用盡各種方法只能裝4個果子,你裝了5個,結果掉倒地上不能吃了。這就是溢出!比方說棧,棧滿時再做進棧必定產(chǎn)生空間溢出,叫上溢,棧空時再做退棧也產(chǎn)生空間溢出,稱為下溢。就是分配的內存不足以放下數(shù)據(jù)項序列,稱為內存溢出.

引起內存溢出的原因有很多種

1.內存中加載的數(shù)據(jù)量過于龐大,如一次從數(shù)據(jù)庫取出過多數(shù)據(jù); 2.集合類中有對對象的引用,使用完后未清空,使得JVM不能回收; 3.代碼中存在死循環(huán)或循環(huán)產(chǎn)生過多重復的對象實體; 4.使用的第三方軟件中的BUG; 5.啟動參數(shù)內存值設定的過小

內存溢出的解決方案

第一步,修改JVM啟動參數(shù),直接增加內存。(-Xms,-Xmx參數(shù)一定不要忘記加。)

第二步,檢查錯誤日志,查看“OutOfMemory”錯誤前是否有其它異常或錯誤。

第三步,對代碼進行走查和分析,找出可能發(fā)生內存溢出的位置。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桑植县| 洛川县| 旬邑县| 古蔺县| 阳春市| 平舆县| 即墨市| 依安县| 浪卡子县| 泰顺县| 福泉市| 安泽县| 朝阳县| 登封市| 惠水县| 陆丰市| 探索| 罗城| 万山特区| 九江市| 福清市| 佛山市| 临朐县| 通州市| 双柏县| 天镇县| 武义县| 台山市| 湖南省| 巴南区| 丹巴县| 宣恩县| 新乐市| 秦安县| 剑川县| 凤阳县| 西昌市| 南华县| 武邑县| 旌德县| 旌德县|