最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java OOM內存泄漏原因及解決方法

 更新時間:2019年08月23日 11:20:53   作者:荊棘人  
這篇文章主要介紹了java OOM內存泄漏原因及解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

前言

這篇文章主要介紹了java OOM內存泄漏原因及解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一、什么是OOM

OOM,全稱“Out Of Memory”,翻譯成中文就是“內存用完了”,當JVM因為沒有足夠的內存來為對象分配空間并且垃圾回收器也已經沒有空間可回收時,就會拋出這個error

二、為什么會OOM、出現(xiàn)的原因是什么

為什么會沒有內存了呢?原因不外乎有兩點:

① 分配的少了:比如虛擬機本身可使用的內存(一般通過啟動時的VM參數(shù)指定)太少。

② 應用用的太多,并且用完沒釋放,浪費了。此時就會造成內存泄露或者內存溢出。

三、解決辦法

① java.lang.OutOfMemoryError: Java heap space ——>java堆內存溢出,此種情況最常見,一般由于內存泄露或者堆的大小設置不當引起。對于內存泄露,需要通過內存監(jiān)控軟件查找程序中的泄露代碼,而堆大小可以通過虛擬機參數(shù)-Xms,-Xmx等修改。

② java.lang.OutOfMemoryError: PermGen space ——>java永久代溢出,即方法區(qū)溢出了,一般出現(xiàn)于大量Class或者jsp頁面,或者采用cglib等反射機制的情況,因為上述情況會產生大量的Class信息存儲于方法區(qū)。此種情況可以通過更改方法區(qū)的大小來解決,使用類似-XX:PermSize=64m -XX:MaxPermSize=256m的形式修改。另外,過多的常量尤其是字符串也會導致方法區(qū)溢出。

③ java.lang.StackOverflowError ——> 不會拋OOM error,但也是比較常見的Java內存溢出。JAVA虛擬機棧溢出,一般是由于程序中存在死循環(huán)或者深度遞歸調用造成的,棧大小設置太小也會出現(xiàn)此種溢出??梢酝ㄟ^虛擬機參數(shù)-Xss來設置棧的大小

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

江安县| 临泽县| 灯塔市| 彰武县| 湘乡市| 茶陵县| 舞阳县| 天水市| 望谟县| 从江县| 九龙坡区| 潜山县| 海城市| 台东市| 襄垣县| 伊通| 东兰县| 呈贡县| 荃湾区| 太原市| 北宁市| 洛川县| 日喀则市| 长沙县| 土默特右旗| 鹰潭市| 兴海县| 乐安县| 贡嘎县| 旬阳县| 灯塔市| 雷波县| 扶沟县| 蕉岭县| 伊宁市| 双辽市| 沂水县| 辉南县| 商河县| 海晏县| 泊头市|