Java heap space問題的的解決方法
因?yàn)槌绦蛞獜臄?shù)據(jù)讀取近10W行記錄處理,當(dāng)讀到9W的時(shí)候就出現(xiàn) java.lang.OutOfMemoryError: Java heap space 這樣的錯(cuò)誤。
在網(wǎng)上一查可能是JAVA的堆棧設(shè)置太小的原因,結(jié)合網(wǎng)上的答案大致有這兩種解決方法:
1、設(shè)置環(huán)境變量:
set JAVA_OPTS= -Xms32m -Xmx512m
可以根據(jù)自己機(jī)器的內(nèi)存進(jìn)行更改,但本人測(cè)試這種方法并沒有解決問題。可能是還有哪里需要設(shè)置。
2、java -Xms32m -Xmx800m className:
就是在執(zhí)行JAVA類文件時(shí)加上這個(gè)參數(shù),其中className是需要執(zhí)行的確類名。(包括包名)
這個(gè)解決問題了。而且執(zhí)行的速度比沒有設(shè)置的時(shí)候快很多。
如果在測(cè)試的時(shí)候可能會(huì)用Eclispe 這時(shí)候就需要在Eclipse ->run -arguments 中的VM arguments 中輸入-Xms32m -Xmx800m這個(gè)參數(shù)就可以了。
【編輯推薦】