这一行
bufferedReader.readLine();
不将其保存到变量中会消耗内存吗?
答案 0 :(得分:2)
是的,它会消耗内存,因为它至少必须为结果分配内存(即使你没有分配它)。
可能很快就会对内存进行垃圾回收,因为没有人持有对它的引用。但是当垃圾收集器运行时无法保证。回答这个问题无关紧要,因为它不是关于内存分配的时间框架。
请注意,它肯定不会被“优化掉”,因为它会触发即使结果立即被丢弃也必须执行的副作用。编译器和JVM“知道”,因此从存储器的角度来看,这几乎就像分配结果一样,然后立即用其他东西覆盖结果。
答案 1 :(得分:1)
据我所知,它可以立即用于垃圾收集,因为它没有附加任何引用。