海詩網(wǎng) 知識百科 outofmemoryerror怎么解決(outofmemoryerror怎么解決)

outofmemoryerror怎么解決(outofmemoryerror怎么解決)

outofmemoryerror怎么解決, Outofmemoryerror,即內(nèi)存溢出,在java法律中很常見。發(fā)生這種情況有兩種常見情況。

1、

OutOfMemoryError錯誤錯誤:PermGen空間

出現(xiàn)這種情況可能是因為程序中使用了大量的jar或類,導致java虛擬機加載類的空間不足,這與永久生成空間有關。

如果要解決,一般有兩種方式:

1.首先是增加java虛擬機中XX:PermSize和XX:MaxPermSize參數(shù)的大小,其中XX:PermSize屬于初始永久存儲區(qū)大小。

XX:MaxPermSize是最大永久存儲區(qū)大小。

例如,對于tomcat6.0,在catalina.sh或catalina.bat文件中的一系列環(huán)境變量名的末尾,即大約70行的位置添加一行,具體為:

JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m

如果是windows服務器,可以在系統(tǒng)環(huán)境變量中設置。當使用tomcat發(fā)布具有sprint struts hibernate架構的程序時,很容易出現(xiàn)這種內(nèi)存溢出錯誤。可以使用上述方法,

基本上可以解決問題。

outofmemoryerror怎么解決

2.第二種方法是清理應用程序中web-inf/lib下的jar。如果tomcat部署了多個應用程序,并且多個應用程序使用同一個jar,那么您可以選擇將公共jar移動到tomcat的公共庫。

減少類的重復加載。這個方法總體來說還是不錯的,當然如果可以選擇的話,盡量用第一種方法會更好。

2、

OutOfMemoryError錯誤:Java堆空間

造成這個問題的原因也可能是java虛擬機創(chuàng)建了太多的對象,虛擬機分配的堆內(nèi)存空間在垃圾收集之前就已經(jīng)用完了,這和堆空間有關。

如果要解決這個問題,一般有兩種方法:

1.首先,您可以檢查程序,看看是否存在無限循環(huán)或創(chuàng)建大量不必要的對象。找到原因后,就可以修改程序和算法了。

2.您還可以選擇增加Java虛擬機中Xms(初始堆大小)和Xmx(最大堆大小)參數(shù)的大小。

比如:set JAVA_OPTS=-Xms256m -Xmx1024m

outofmemoryerror怎么解決

當然,具體情況要根據(jù)實際情況而定。要確定問題,然后選擇正確的方式去解決。

outofmemoryerror怎么解決,以上就是本文為您收集整理的outofmemoryerror怎么解決最新內(nèi)容,希望能幫到您!更多相關內(nèi)容歡迎關注。

本文來自網(wǎng)絡,不代表海詩網(wǎng)立場,轉(zhuǎn)載請注明出處:http://x91880.com/n/169074.html
      

net::err_ssl_protocol_error(net::err)

發(fā)表回復
聯(lián)系我們
聯(lián)系我們

在線咨詢: QQ交談

郵箱: 3587015498@qq.com

工作時間:周一至周五,9:00-17:30,節(jié)假日休息

關注微信
微信掃一掃關注我們
微信掃一掃關注我們
關注微博
返回頂部