bag*_*age 6 java swing jvm memory-management
关于这个问题有很多问题,但没有答案让我满意; 我正在使用Swing编写一个简单的GUI窗口.目前它只包含4个按钮,其中一个是打开文件选择器.
当我使用VisualVM监视工具查看内存使用情况时,结果如下所示:
内存使用情况http://img17.imageshack.us/img17/3589/8txc.png
当我点击按钮时出现第一个长矛,然后我什么也没做.
这是空闲应用程序消耗10M/min(当它什么都没做的时候)这是正常的吗?
由于我必须使用图像做一个类似quizz的applet,System.gc()每次切换到下一个问题时我是否应该使用它来避免(可能是巨大的?)内存使用?
我可以通过一个简单的测试程序重新创建您所看到的内容,但是如果您让监视器跟踪的时间更长一点......

CPU 一直处于 0%(只有一个打开的 JFileChooser 坐在那里)。内存波动很奇怪,但我认为 JVM 一定在做各种后台管理和维护任务。这项工作将使用最终积累起来的记忆。并且它会定期自行清理。
另一件需要考虑的事情是已经分配的堆中的内存使用情况。您的程序实际上始终使用一致数量的实际内存,正如您从橙色扁平线中看到的那样。