何时使用Runtime.maxMemory()和totalMemory()

mic*_*667 6 java

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

这两种方法的典型用例是什么,即何时使用相应的另一种方法是不合适的?

ami*_*mit 7

totalMemory()收益多少内存目前正在使用,而maxMemory()告诉多少JVM可以在总分配.

注意:由此产生的结果如下:totalMemory() <= maxMemory()并且您还可以获得"剩余多少内存"maxMemory() - totalMemory()

一个用例就是诊断你的程序使用多少内存,然后你会用totalMemory()它.
注意:两者都仅指堆内存,而不是堆栈内存.


JB *_*zet 5

总内存是当前分配给JVM的内存.它随时间而变化.最大内存是JVM可以达到的最大内存.这是总内存的上限.