5 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊
打開(kāi)eclipse,選擇Window--Preferences--Java--Installed JREs,在右邊選擇前面有對(duì)勾的JRE,單擊Edit,出現(xiàn)一個(gè)EditJRE的對(duì)話框,在其中的Default VM Arguments框中輸入-Xms128m -Xmx512m。
這樣設(shè)置java虛擬機(jī)內(nèi)存使用最小是128M,最大是512M。

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
1:文件流 使用Java.util.Scanner類掃描文件的內(nèi)容,一行一行連續(xù)地讀取
2:Apache Commons IO流 Apache Commons IO流

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
Java的堆內(nèi)存溢出了,可能是由于你的某個(gè)方法BUG導(dǎo)致的,比如構(gòu)造了一個(gè)List,一次放入的數(shù)據(jù)過(guò)多,或者一次讀取某個(gè)很大的文件,而沒(méi)有使用緩存
根本的解決方法是查找導(dǎo)致溢出的方法,并修正(可以減少放入內(nèi)存的內(nèi)容)
另外有一個(gè)治標(biāo)的方法:在WEB容器啟動(dòng)時(shí)加上內(nèi)存參數(shù):
-Xms512m -Xmx512m

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
解決第一步,為什么會(huì)出現(xiàn)這種錯(cuò)誤?
(1)這一部分用于存放Class和Meta的信息,Class在被 Load的時(shí)候被放入PermGen space區(qū)域,它和和存放Instance的Heap區(qū)域不同。 (2) GC(Garbage Collection)不會(huì)在主程序運(yùn)行期對(duì)PermGen space進(jìn)行清理,所以如果你的APP會(huì)LOAD很多CLASS 的話,就很可能出現(xiàn)PermGen space錯(cuò)誤。這種錯(cuò)誤常見(jiàn)在web服務(wù)器對(duì)JSP進(jìn)行pre compile的時(shí)候。 如果你的WEB APP下都用了大量的第三方j(luò)ar,其大小超過(guò)了jvm默認(rèn)的大小(4M)那么就會(huì)產(chǎn)生此錯(cuò)誤信息了。顯然需要配置內(nèi)存了
解決第二步,解決這個(gè)問(wèn)題之前,首先找到出現(xiàn)問(wèn)題的出處。就需要在D:\rootpackage\Eclipse\adt64\eclipse里面找到eclipse的配置,eclipse.ini的文件里面。找到之后需要雙擊打開(kāi)。我們來(lái)看看一下這里的內(nèi)容。
3
解決第三步,通過(guò)解決第二步,后面的雙擊之后,然后看到這個(gè)這個(gè)內(nèi)容,把你的配置文件改成如下的內(nèi)容。完成之后然后就可以重啟eclipse,就不會(huì)爆出這個(gè)內(nèi)存錯(cuò)誤了。因?yàn)槌鲥e(cuò)的源泉已經(jīng)解決了
添加回答
舉報(bào)