gpt4 book ai didi

java - 如何读取大文件并在最后释放内存?

转载 作者:行者123 更新时间:2023-12-01 21:27:44 33 4
gpt4 key购买 nike

我有一个“.txt”文件,大小为 6.29mb,行数为 11234。
我尝试用java读取该文件。

使用此代码:

File file = new File(path);
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line;
while( (line=br.readLine()) != null ){

}
br.close();
fis.close();

这样就快了,
但问题是,当它运行时,它需要大约 700mb 的内存
什么时候BufferedReader 已关闭,我的 java 程序仍然需要 ~700mb
我不明白为什么?

清除内存的解决方案是什么?

请帮忙。

谢谢。

最佳答案

JVM 在请求内存后不一定将其释放回操作系统。它可以快速扩展以满足您的需求,直至达到允许的最大值。一旦有了内存,它往往会保留很长时间。即使您的程序现在仅使用了 50MB,JVM 仍将保留其余 650MB。

关于java - 如何读取大文件并在最后释放内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37820320/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com