1. 程式人生 > >java記憶體溢位(ava.lang.OutOfMemoryError)解決方法

java記憶體溢位(ava.lang.OutOfMemoryError)解決方法

記憶體溢位的原因一般如下:

1.JVM記憶體過小,程式不夠健壯,所以產生過多垃圾;

2.從資料庫取出過多資料,記憶體中載入資料太龐大;

3.程式碼中存在死迴圈;

4.程式碼中迴圈產生過多重複的物件實體;

5.啟動引數記憶體值設定過小;    

6.webapps檔案下的專案過多; 

解決方法如下:

1.在apache-tomcat-6.0.30\bin\catalina.bat檔案新增:

set CATALINA_OPTS=-Xms128M -Xmx256M

set JAVA_OPTS=-Xms128M -Xmx256M

2.在apache-tomcat-6.0.30\bin\startup.bat檔案:

call "httpd.exe"  "-Xms128M" "-Xmx256M"
其中"-Xms128M"為最小記憶體,"-Xmx256M"為最大記憶體。
3. 優化程式,釋放垃圾:
    修改程式,避免死迴圈,及時釋放資源,記憶體、資料庫的各種連線,防止一次載入太多資料;
4.webapps檔案下刪除其他專案,重新部署、啟動;