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

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

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

1、

OutOfMemoryError錯(cuò)誤錯(cuò)誤:PermGen空間

出現(xiàn)這種情況可能是因?yàn)槌绦蛑惺褂昧舜罅康膉ar或類,導(dǎo)致java虛擬機(jī)加載類的空間不足,這與永久生成空間有關(guān)。

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

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

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

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

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

如果是windows服務(wù)器,可以在系統(tǒng)環(huán)境變量中設(shè)置。當(dāng)使用tomcat發(fā)布具有sprint struts hibernate架構(gòu)的程序時(shí),很容易出現(xiàn)這種內(nèi)存溢出錯(cuò)誤??梢允褂蒙鲜龇椒ǎ?

基本上可以解決問題。

outofmemoryerror怎么解決

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

減少類的重復(fù)加載。這個(gè)方法總體來說還是不錯(cuò)的,當(dāng)然如果可以選擇的話,盡量用第一種方法會(huì)更好。

2、

OutOfMemoryError錯(cuò)誤:Java堆空間

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

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

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

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

比如:set JAVA_OPTS=-Xms256m -Xmx1024m

outofmemoryerror怎么解決

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

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

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

net::err_ssl_protocol_error(net::err)

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

在線咨詢: QQ交談

郵箱: 3587015498@qq.com

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

關(guān)注微信
微信掃一掃關(guān)注我們
微信掃一掃關(guān)注我們
關(guān)注微博
返回頂部