java - OutOfMemoryError 以及如何使运行继续

标签 java

我正在使用 Java API (JWPL) 来处理维基百科转储,在运行一些应用程序后, 我收到 OutOfMemory: Java 堆空间错误。由于我无法检查源代码,我能做的就是 增加堆大小的最大分配。我还能做些什么吗?

另一个问题是:运行这个应用程序的目标是获取一些输出文本文件,我已经知道所有文件的名称,总共 11 个。从上次运行开始,我已经获得了 7 个文件,但它因上述错误而停止。现在,在更改最大堆大小后,我想知道是否有一种方法可以使下一次运行从剩余的位置开始,因为完整运行的持续时间约为 8 小时。我只是不想从头开始,我只想获取其余 4 个文件。我对Java很陌生,请给我一些建议。预先感谢!

最佳答案

如果您可以从命令行运行该 Java 应用程序,那么您可以使用 -Xmx 开关增加应用程序的可用内存:

即:

java -Xmx1024m MyApp

将为您的进程提供 1024 MB 的内存。

恐怕您无法获取剩下的 4 个文件。您需要再次运行整个过程。 (我假设您无权访问源代码)

关于java - OutOfMemoryError 以及如何使运行继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19611842/

相关文章:

java - JSONObject 应在路径 $ 中找到属性为 ['XXX' ] 的对象

java - 将ant ivy项目中的jar导入到maven中

java Swing : Focus lost on enter key event

java - WAV文件写入来自另一个WAV文件的问题

c# - 如何在 XSD 中为 byte[] 类型建模?

java - JLabel 在显示 HTML 时垂直向下移动文本

java - 使用 java 运行 jython 字节码

java - java返回两个参数的方法

java - 识别集合中的数字集合

java - 使用javascript更改java变量的值?