2013-10-26 77 views
0

我使用Java API(JWPL)處理維基百科轉儲後,我運行了一些應用程序, 我得到了OutOfMemory:Java堆空間的錯誤。由於我無法檢查源代碼,我可以做的是 增加堆大小的最大分配。還有什麼我可以做的嗎?OutOfMemoryError以及如何使運行繼續

另一個問題是:運行此應用程序的目標是獲得一些輸出文本文件,我已經知道所有文件的名稱,總共11個。從上次運行,我已經有7個文件,但它停止了上述錯誤。現在,當我改變最大堆大小後,我想知道是否有一種方法可以讓我們從下一次運行開始,因爲完整運行的持續時間是8小時。我只是不希望它從一開始就開始,我只想得到其餘4個文件。我對Java很陌生,請給我一些建議。提前致謝!

+0

如果錯誤是因爲使用這個庫或者它是應用程序中的內存泄漏,你可以使用探查器來發現錯誤。 –

+0

你能告訴我更多,如果是因爲圖書館的使用? – user1740987

+0

如果是它的庫,那麼唯一的解決方案是嚮應用程序添加更多的內存。 –

回答

1

如果您可以運行命令行Java應用程序,那麼你可以通過使用-Xmx開關增加您的應用程序可用內存:

即:

java -Xmx1024m MyApp

會給您處理1024兆字節的記憶。

而且我擔心,你無法得到剩餘的4個文件。您需要再次運行整個過程。 (我假設你沒有對源代碼的訪問)

+0

是的,我這樣做是爲了增加堆大小。我確實沒有訪問源代碼:( – user1740987