如何计算在Java中运行程序所需的最大内存量? (由该程序使用)
我做了什么:我在运行时多次记录currentMemory值,然后从最大值中减去最小值。
double currentMemory = (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())
但结果与活动监视器(Mac OS)相比并不令人信服
(1)有更好的方法吗? (2)我应该在调用垃圾收集器之前或之后测量内存吗?
谢谢你的帮助。答案 0 :(得分:0)
您可以使用jdk安装文件夹中的jconsole或jvisualvm实用程序(例如,在Windows $JAVA_HOME/bin/jconsole.exe
上),以获得应用程序整个生命周期内存消耗的精确视觉视图。
它们非常易于使用,并且提供了对jvm