我有一个非常简单的类,它有一个整数变量。我只是将变量“i”的值打印到屏幕上并增加它,并使线程休眠 1 秒。当我针对此方法运行分析器时,即使我没有创建任何新变量,内存使用量也会缓慢增加。执行此代码大约 16 小时后,我看到内存使用量增加到 4 MB(启动程序时最初为 1 MB)。我是Java新手。任何人都可以帮助解释我哪里出错了,或者为什么即使没有创建新变量,内存使用量也会逐渐增加?提前致谢。
我正在使用 netbeans 7.1 及其分析器来查看内存使用情况。
public static void main(String[] args)
{
try
{
int i = 1;
while(true)
{
System.out.println(i);
i++;
Thread.sleep(1000);
}
}
catch(InterruptedException ex)
{
System.out.print(ex.toString());
}
}
程序启动时的初始内存使用量:1569852 字节。
执行循环 16 小时后的内存使用量:4095829 字节