加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 带FileReader的BufferedReader使用了大量的RAM

发布时间:2020-12-15 02:16:42 所属栏目:Java 来源:网络整理
导读:我在非常大的文件(~100g)上使用BufferedReader和FileReader. 这是我正在使用的代码: BufferedReader reader = new BufferedReader(new FileReader("file path"));BufferedWriter writer = new BufferedWriter(new FileWriter("output file"));String line;w
我在非常大的文件(~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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读