Java - 使用BufferedReader而不消耗内存

时间:2014-11-23 08:38:37

标签: java

这一行

bufferedReader.readLine();

不将其保存到变量中会消耗内存吗?

2 个答案:

答案 0 :(得分:2)

是的,它会消耗内存,因为它至少必须为结果分配内存(即使你没有分配它)。

可能很快就会对内存进行垃圾回收,因为没有人持有对它的引用。但是当垃圾收集器运行时无法保证。回答这个问题无关紧要,因为它不是关于内存分配的时间框架。

请注意,它肯定不会被“优化掉”,因为它会触发即使结果立即被丢弃也必须执行的副作用。编译器和JVM“知道”,因此从存储器的角度来看,这几乎就像分配结果一样,然后立即用其他东西覆盖结果。

答案 1 :(得分:1)

据我所知,它可以立即用于垃圾收集,因为它没有附加任何引用。