为什么即使我的程序没有创建任何新对象,堆利用率也会随着时间的推移而增加?

Why is the heap utilisation increasing over time even if my program does not create any new objects?

这是一个非常基本的问题。但是我在互联网上没有得到任何明确的答案。 我有以下代码

public static void main(String[] args) throws InterruptedException {
    Thread.sleep(1000000);
}

我连接了 JVisualVM 并开始监视堆使用情况。我可以看到堆使用量随着时间的推移逐渐增加。但是,在这里我没有创建任何新对象。这背后的原因可能是什么?为什么堆利用率在没有创建任何新对象的情况下增加?

提前致谢。

如果你连接过jvisualvm,你应该能看到有很多线程,不仅仅是主应用程序线程。对象一直在创建。例如,探查器本身肯定会创建对象。很正常。