我在很大的文件(〜100g)上使用BufferedReader
和FileReader
。
这是我正在使用的代码:
BufferedReader reader = new BufferedReader(new FileReader("file path"));
BufferedWriter writer = new BufferedWriter(new FileWriter("output file"));
String line;
while ((line = reader.readLine()) != null) {
// check if i need this line, and if i need it, i print it
writer.write(line);
writer.newLine();
}
writer.close();
reader.close();
当我在一开始对文件运行时,它使用少量的内存,但是使用的内存缓慢增长(可以轻松使用超过50GB的RAM)。
为什么会这样呢?而且,我可以通过某种方式修复它吗?
我看到当我从命令行使用-Xmx
参数在Linux上运行Java程序时,由于某种原因,它使我的Java程序需要大量RAM。
从我删除-Xmx
参数后,Java程序使用的内存不足。
这是我的旧命令:
java -Xmx350g -jar MyJar.jar
这是我的新命令:
java -jar MyJar.jar
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句