我在Windows 7上使用jdk1.7.0_25编译它:
public class Test {
public static void main(String[] args) throws Exception
{
while (true){
System.out.print(".");
}
}
}
但是当我运行它并在任务管理器中查看java.exe时,内存会逐渐增加。
有没有人对此有解释?这是我正在运行的程序的缩减版本,我怀疑它包含内存泄漏。
(在写这篇文章时,java.exe以大约25Mb的内存开始:我现在处于100Mb)。
答案 0 :(得分:0)
System
缓存必须存储逐渐增加的句点字符串,因为它未被释放。您的记忆将增加System.out中存储的文本量。这是预期的行为。
一个hacky解决方案是在每个句点之后打印一个退格符("\b"
)。