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

标签 java visualvm jvisualvm

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

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

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

提前致谢。

最佳答案

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

关于java - 即使我的程序没有创建任何新对象,为什么堆利用率也会随着时间的推移而增加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50875602/

相关文章:

Java 分析 - 检测导致峰值的原因

java - 使用 SAX Parser 进行 Android XML 解析

java - visualvm历史图

java - 需要在 VMWare 下在 Windows 上运行 VisualVM 的帮助

java - 我如何才能看到 PermGen 中到底存储了什么?

java - 无法使用 VisualVM 连接到 JMX/RMI 服务器,原因不明

linux - 如何将 X11 转发到远程 linux 主机上运行的虚拟机?

java - 在 Java 中将 Signed Int 值转换为 Unsigned String 值

java - 如何使用 JPA (hibernate) 捕获数据库中动态生成的列的值?

java - IntelliJ IDEA 14 在哪里可以获得 Android Designer?