我的应用程序存在一些内存问题,因此我开始使用VisualVM等探查器。

如果我在调试中启动应用程序并到达断点(将应用程序暂停),我仍然会看到很多正在创建的几个类的实例(主要是intcharObjectTreeMap$Entry,..)。 )。

这是为什么 ?

最佳答案

断点可能只是暂停了命中该线程的线程,而其他线程很乐意继续执行其预期的工作。为了弄清楚它们的作用,它们的名称可能会有些许揭示,但是没有什么比线程转储更胜一筹了(您可以让VisualVM为您做)。

同样,您通常可以为单个断点决定是仅暂停一个线程还是应该暂停所有线程。当然,确切的操作方式是特定于IDE的(但通常是在“断点属性”中,或类似的东西)。

10-07 13:17