<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 297,  comments - 1618,  trackbacks - 0
    java.lang.OutOfMemoryError這個錯誤我相信大部分開發(fā)人員都有遇到過,產(chǎn)生該錯誤的原因大都出于以下原因:JVM內(nèi)存過小、程序不嚴密,產(chǎn)生了過多的垃圾。

    ???????????在一年多的工作過程中,遇到該問題的印象最深有兩次。

    ?????????? 一次是用hibernate查詢數(shù)據(jù)時,一次查詢過多的數(shù)據(jù),例如30000條,此時程序出錯,該死的java.lang.OutMemoryError,后來調(diào)整了該部分的代碼,每次只取出指定量的數(shù)據(jù),成功的解決該問題。

    ??????????? 還有一次是當測試人員loadRunner做壓力測試時,并發(fā)200個用戶時,運行不到幾分鐘整個weblogic都癱掉,真夠狠的,又是java.lang.OutOfMemoryError, PM叫我檢查同事寫的代碼,折騰了我好久,結(jié)果發(fā)現(xiàn)原來是由于session的資源一直沒有被釋放產(chǎn)生的,真把俺給氣死!!!在該工程中在web.xml文件中設(shè)置了一個session的偵聽期,當檢測到session超時時,進入指定的類進行相應處理,而該同事在進行了自定義的處理后,沒有通過session的invalidate()方法將session的資源釋放,導致當大批量并發(fā)時,造成內(nèi)存溢出。

    ??????????? 解決java.lang.OutOfMemoryError的方法有如下幾種:

    1. 增加jvm的內(nèi)存大小。方法有:

    ??????????? 1)在執(zhí)行某個class文件時候,可以使用java?-Xmx256M?aa.class來設(shè)置運行aa.class時jvm所允許占用的最大內(nèi)存為256M。
    ??????????? 2)對tomcat容器,可以在啟動時對jvm設(shè)置內(nèi)存限度。對tomcat,可以在catalina.bat中添加:
    ?"set?CATALINA_OPTS=-Xms128M?-Xmx256M
    ??set?JAVA_OPTS=-Xms128M?-Xmx256M",或者把%CATALINA_OPTS%和%JAVA_OPTS%代替為-Xms128M?-Xmx256M

    ??????????? 3)對resin容器,同樣可以在啟動時對jvm設(shè)置內(nèi)存限度。在bin文件夾下創(chuàng)建一個startup.bat文件,內(nèi)容如下:
    ???????????????? @echo?off
    ????????????????? call?"httpd.exe"??"-Xms128M"?"-Xmx256M"
    ??????????????????:end?
    ??????????????????其中"-Xms128M"為最小內(nèi)存,"-Xmx256M"為最大內(nèi)存。

    ?? 2.??? 優(yōu)化程序,釋放垃圾。

    ??????? 主要包括避免死循環(huán),應該及時釋放種資源:內(nèi)存,?數(shù)據(jù)庫的各種連接,防止一次載入太多的數(shù)據(jù)。導致java.lang.OutOfMemoryError的根本原因是程序不健壯。因此,從根本上解決Java內(nèi)存溢出的唯一方法就是修改程序,及時地釋放沒用的對象,釋放內(nèi)存空間。?遇到該錯誤的時候要仔細檢查程序,嘿嘿,遇多一次這種問題之后,以后寫程序就會小心多了。

    posted on 2007-02-11 23:35 阿蜜果 閱讀(36556) 評論(11)  編輯  收藏 所屬分類: Java


    FeedBack:
    # re: java.lang.OutOfMemoryError學習筆記
    2007-02-12 10:36 | 獅子心
    呵呵,我也遇到過類似的問題,有一次是處理大文本,就是試圖使用java分析日志,結(jié)果outofmemmory。。。后來使用awk,價格便宜量又足。  回復  更多評論
      
    # re: java.lang.OutOfMemoryError學習筆記
    2007-03-14 21:44 | 陳朋奕
    呵呵,同意,awk/gawk或者是sed在Linux下的處理速度和效率都是相當高的。Java還是比較耗機器性能的。
    PS:windows下好像也有個awk,沒用過,不知道效果如何?  回復  更多評論
      
    # re: java.lang.OutOfMemoryError學習筆記
    2007-05-17 10:45 | 鴻雁于飛
    我們的系統(tǒng)剛上線,經(jīng)常因java.lang.OutOfMemoryError把jboss弄得死掉。  回復  更多評論
      
    # re: java.lang.OutOfMemoryError學習筆記
    2007-09-24 20:59 | maleung
    “導致java.lang.OutOfMemoryError的根本原因是程序不健壯。”
    很欣賞這句話,但是個人覺得太難了,就像是我們無法完全消除bugs一樣。
    為了博主的這句話而努力,代碼要寫的漂亮。  回復  更多評論
      
    # re: java.lang.OutOfMemoryError學習筆記 [未登錄]
    2008-11-10 10:17 | king
    不錯,學習了.  回復  更多評論
      
    # re: java.lang.OutOfMemoryError學習筆記
    2008-12-16 16:21 | wangts
    所描述的幾種原因是比較好處理的,但好像有更多的原因。
    “導致java.lang.OutOfMemoryError的根本原因是程序不健壯”
    在java里有點工作經(jīng)驗的程序員很難寫出不釋放內(nèi)存的代碼。
    只要不搞全局,不搞靜態(tài),這些低級的錯誤。  回復  更多評論
      
    # re: java.lang.OutOfMemoryError學習筆記
    2009-02-01 13:52 | arron
    支持下 我也碰到這樣的問題 報表從html轉(zhuǎn)到excel中100頁也沒有問題 100多點 就開始報這個異常了!!  回復  更多評論
      
    # re: java.lang.OutOfMemoryError學習筆記
    2009-03-18 09:02 | littlemouse
    非常感謝!增加jvm的內(nèi)存大小有效果.  回復  更多評論
      
    # re: java.lang.OutOfMemoryError學習筆記 [未登錄]
    2009-07-22 19:35 | 啊啊
    @wangts
    只要不搞全局,不搞靜態(tài),這些低級的錯誤" 什么意思
    是不用這些就會沒問題了嗎
      回復  更多評論
      
    # re: java.lang.OutOfMemoryError學習筆記 [未登錄]
    2009-08-20 00:37 |
    支持,!  回復  更多評論
      
    # re: java.lang.OutOfMemoryError學習筆記
    2009-09-17 11:42 | 柱子
    剛學JAVA不久,就出現(xiàn)這個問題
    我在2G內(nèi)存機器上沒問題,在512內(nèi)存機器就出現(xiàn)問題了
    我試試,謝謝  回復  更多評論
      
    <2007年2月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728123
    45678910

          生活將我們磨圓,是為了讓我們滾得更遠——“圓”來如此。
          我的作品:
          玩轉(zhuǎn)Axure RP  (2015年12月出版)
          

          Power Designer系統(tǒng)分析與建模實戰(zhàn)  (2015年7月出版)
          
         Struts2+Hibernate3+Spring2   (2010年5月出版)
         

    留言簿(263)

    隨筆分類

    隨筆檔案

    文章分類

    相冊

    關(guān)注blog

    積分與排名

    • 積分 - 2294914
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 特a级免费高清黄色片| 你懂得的在线观看免费视频| 亚洲午夜福利精品无码| 免费无码一区二区三区蜜桃大| 亚洲一区二区三区免费视频| 免费看www视频| 国内精品免费在线观看| 国产亚洲sss在线播放| 在线A亚洲老鸭窝天堂| 黄色成人网站免费无码av| 成人免费av一区二区三区| 亚洲成a人一区二区三区| 污污网站免费观看| 美女羞羞免费视频网站| 亚洲高清视频免费| 亚洲国产精品人人做人人爱| 1000部禁片黄的免费看| 美女被爆羞羞网站在免费观看| 亚洲国产精品无码专区影院| a毛片成人免费全部播放| 亚洲乱码中文论理电影| 亚洲黄片手机免费观看| 最近中文字幕无吗免费高清 | 中文字幕 亚洲 有码 在线| 亚洲午夜日韩高清一区| AA免费观看的1000部电影| 你懂的网址免费国产| 免费夜色污私人影院网站| 亚洲色大成网站WWW国产| 亚洲综合在线观看视频| 亚洲一区二区三区无码中文字幕 | 亚洲最新中文字幕| 人人狠狠综合久久亚洲婷婷| 亚洲国产精品人人做人人爱| 处破痛哭A√18成年片免费| 67pao强力打造高清免费| 日批视频网址免费观看| 人妻18毛片a级毛片免费看| 亚洲av综合av一区二区三区| 亚洲av无码一区二区三区天堂古代| 亚洲avav天堂av在线不卡|