Я использую функцию выборки памяти Java Visual VM и не могу ответить на вопросы:
Почему создается так много экземпляров?
Почему это количество экземпляров и байтов продолжает расти?
Например, я создал очень простую программу на Java следующим образом:
public class TestMemory{
public static void main(String[] args) throws InterruptedException {
System.out.println("Hello");
Thread.sleep(60 * 60 * 1000);
}
}
И я вижу в Java Visual VM, что есть 611 классов. Количество экземпляров продолжает увеличиваться с 25 000 до почти 50 000, а затем падает до примерно 25 000. Причина уменьшения количества экземпляров может быть вызвана GC, но я не знаю, почему эти цифры такие динамичные, хотя я ничего не делаю со своей программой.