我需要找出我真正接近的时间,OutOfMemoryError
以便我可以将结果刷新到文件并调用runtime.gc();
. 我的代码是这样的:
Runtime runtime = Runtime.getRuntime();
...
if ((1.0 * runtime.totalMemory() / runtime.maxMemory()) > 0.9) {
... flush results to file ...
runtime.gc();
}
有一个更好的方法吗?有人可以帮帮我吗?
编辑
我明白我是在用这种方式玩火,所以我推断出一种更可靠、更简单的方法来确定我什么时候受够了。我目前正在使用 Jena 模型,所以我做了一个简单的检查:如果模型有超过 550k 的语句,那么我会刷新,所以我不会冒任何风险。