1

在我的 java 应用程序中,我显示了程序的内存使用情况。不幸的是,它是零星的,而且经常是错误的。我目前的代码是

component.setText("Memory usage : "+((Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / 1024 / 1024) + "mb");

有时,它会返回正确的值(应该是 10-20mb 左右),有时它会返回非常奇怪的值。这与正在运行的其他 java 程序(尤其是 Netbeans)相关,但在没有其他程序运行时仍然会表现出来。那句话有什么问题?有没有更好的方法来更准确地表示内存使用情况?

4

1 回答 1

0

解决了问题。与堆栈溢出有关,该堆栈溢出不足以被捕获为异常,但足以使内存使用量激增。

于 2012-09-30T07:16:39.537 回答