用于跟踪java堆大小的java库?

时间:2015-04-18 10:59:55

标签: java heap heap-memory

是否有Java库(.jar)文件我可以下载并使用API​​来跟踪程序的堆大小?如果没有,我将如何创建一个?

2 个答案:

答案 0 :(得分:1)

您可以使用Runtime类:

当前堆大小(它可以增长直到达到允许的最大值):

long hSize = Runtime.getRuntime().totalMemory(); 

最大堆大小:

long hMaxSize = Runtime.getRuntime().maxMemory();

当前堆大小有多少是免费的:

long hFreeSize = Runtime.getRuntime().freeMemory(); 

答案 1 :(得分:0)

当然,您甚至不需要下载:(oracle)JDK捆绑了一个名为 jvisualvm 的程序,这符合您的要求:您可以(附加到正在运行的程序)并跟踪其堆大小(以及更多指标)。有关详细信息,请参阅:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jvisualvm.html

当然,有许多(可下载,免费和商业)替代品,有些是: