Я пытался применить часть своего Java-кода, чтобы убедиться, что объекты собирались мусором правильно, и обнаружил, что удивительно, что он вызывался не так часто, как я ожидал.
Теперь мне интересно,это из-за неисправного инструментария или фактической утечки памяти, которую я должен решить.профилировщик VisualVM, кажется, указывает на первое.
Ситуация, вызывающая обеспокоенность, заключается в том, что у меня есть поток, который обрабатывает запросы, и внутри запроса создаются тысячи временных объектов.Иногда сокет, в который пишет этот поток, неожиданно закрывается, и поток попадает в исключение и умирает.
Когда поток умирает, кажется, что .finalize () никогда не вызывается для этих объектов.Это причина не доверять моим инструментам?