这可能是一个幼稚的问题。我正在调查我的应用程序中可能存在的内存泄漏。我一直在通过 jvisualvm 监控 tomcat 进程。有一次,我选择进行堆转储。
我很惊讶地看到我的线程数,并且在生成堆转储后内存消耗大幅下降。参考以下屏幕截图。
为什么我的线程数和内存仅仅因为堆转储而下降?
[编辑] 为了回应关于它为响应堆转储而进行完整垃圾收集的答案,我的后续问题是,垃圾收集不应该一直发生吗?我没有看到之前的急剧下降,只是在 GC 正常发生时发生的常规下降。这个 GC 周期与正常发生的有什么不同?