Поток не будет собираться мусором, пока он "живой", независимо от того, доступен ли объект Thread
.Это является следствием определения достижимости JLS.
Для записи типичная JVM выделяет стек потока в памяти, находящейся вне кучи (ов).Объект Thread
и его дочерние объекты являются обычными объектами кучи.Эти могут быть сборщиком мусора: спецификации об этом ничего не говорят, AFAIK.Наконец, часть состояния потока может находиться в памяти, управляемой ядром ОС.
при просмотре JVM через JProfiler я не смог найти экземпляр MyThread, который я создал.
Это не доказывает, что это был мусор.Все это доказывает, что JProfiler не смог его найти.
Если поток завершился (и вы не сохранили ссылку на объект Thread
), тогда он / они будутбольше недоступен, и JProfile не сможет его найти.