如何在Java中获得自由堆大小(不是一起堆栈/方法mem)?

Pen*_*m10 8 java heap

我想计算我的应用程序的堆使用情况.我想获得堆大小的procent值.

如何获取当前正在运行的应用程序的代码值?

编辑

有一个赞成的答案是不完整/正确的.这些方法返回的值也包括堆栈和方法区域,我只需要监视堆大小.
使用该代码,当我达到43%时,我得到了HeapError异常,因此我无法使用这些方法来监视堆

Runtime.getRuntime().totalMemory()
Run Code Online (Sandbox Code Playgroud)

Ros*_*atl 2

dbyme 的答案不准确 - 这些运行时调用为您提供了 JVM 使用的内存量,但该内存不仅仅由堆组成,还有堆栈和方法区域,例如