我想知道。我有一个带有 servlet 的简单 Java Web 项目。当没有用户使用它时(我在 GlassFish 上本地托管它),我仍然在进程的内存使用中看到锯齿模式。我似乎无法理解 JVM 在做什么?我了解JVM使用的内存的正常流动。堆中充满了应用程序正在创建的对象。在某个点,堆到达垃圾收集器进入的点,它将删除所有不再使用的“缓存”对象,以便可以创建新对象并可以填充堆大小。
我想知道的是,JVM 在空闲时一直在做什么?
编辑:
就像我在评论中说的那样。我在 Eclipse 中创建了一个非常简单的 Java 应用程序,它显示了一个 Swing 窗口,上面写着“hello world”。当我在 Java VisualVM 中观察 JVM 的内存使用情况时,我看到了相同的锯齿模式。