这是一个非常基本的问题。但我没有通过互联网得到任何明确的答案。 我有以下代码
public static void main(String[] args) throws InterruptedException {
Thread.sleep(1000000);
}
我连接了JVisualVM并开始监控堆使用情况。我可以看到堆使用量随着时间的推移逐渐增加。但是,这里我没有创建任何新对象。这背后的原因是什么?为什么在没有创建任何新对象的情况下堆利用率会增加?
提前致谢。
答案 0 :(得分:7)
如果你已经与jvisualvm连接,你应该能够看到有很多线程,而不仅仅是主应用程序线程。对象始终创建。例如,探查器本身肯定会创建对象。这是正常的。