[英]FileReader combined with BufferedReader or FileInputStream
[英]BufferedReader with FileReader uses a lot of RAM
我在非常大的文件(~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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.