|
0
|
| Rusty Shackleford · 技术社区 · 7 年前 |
|
|
1
0
如果您有足够的内存来执行此操作,那么通过将整个文件读入
但是,您可能需要的(可用)堆空间字节数是文件大小的6倍或更多。
您可以通过将文件以字节(而不是字符)的形式保存在内存中,并通过读取
如果您需要最终性能,您应该对备选方案进行基准测试。
看看使用
这是你的主意。保留
|
|
|
2
0
是的,不关闭流理论上可以提高性能,因为对象不会触发垃圾收集 假设您没有取消引用BufferedReader。此外,不存在的资源不需要同步。请参阅类似的答案: Performance hit opening and closing filehandler? 但是,不关闭BufferedReader将导致 memory leak and you'll see heap increase . 我建议,就像其他人在评论和回答中一样,把文件读入内存并使用它。一个50MB的文件没有那么多,再加上在内存中读取字符串一次的性能,将比重新读取文件高得多。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 9 月前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 9 月前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 9 月前 |
|
|
rudraraj · java中未声明最终变量 9 月前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 9 月前 |