This question already has answers here:
What are Runtime.getRuntime().totalMemory() and freeMemory()?

(7个答案)


4年前关闭。



Runtime.maxMemory()Runtime.totalMemory()之间的确切区别是什么? Javadoc对此非常含糊(对我而言)。

这两种方法的典型用例是什么,即何时不宜分别使用另一种方法?

最佳答案

totalMemory()返回当前使用了多少内存,而maxMemory()告诉JVM总共可以分配多少内存。

注意:这是totalMemory() <= maxMemory(),您还可以通过maxMemory() - totalMemory()获得“剩余的内存量”

一种用例用于诊断程序使用了多少内存,并且您将使用totalMemory()
注意:两者都仅指堆内存,而不是指堆内存。

10-08 13:25