簡體   English   中英

FileReader的BufferedReader使用了大量的RAM

[英]BufferedReader with FileReader uses a lot of RAM

我在非常大的文件(~100g)上使用BufferedReaderFileReader

這是我正在使用的代碼:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM