我在写一些监控代码,以跟踪我的应用程序中使用过的内存。我发现了MemoryMXBean,它允许我调查内存使用情况。但我不能得到真正持有的最大值,从documentation:MemoryUsage最大变化时间
最大:表示可以用于内存管理的最大内存量(以字节为单位)。它的值可能是未定义的。如果定义,最大内存量可能随时间而改变。
在什么情况下可以最大值为空?即使我没有在启动时明确地设置它,我也认为它会一直设置。如果我设置它,最大值如何随时间变化?有一些相关的thread,但没有回答这个问题。
有人能把光线带入黑暗吗?
嗯,我对此表示怀疑。你从哪里得到这些信息,你能指点我吗?你的解释不符合前面提到的线程,它的堆的最大值减少了。您是否参考了具有峰值信息的MemoryPoolMXBean? – philnate