Если процесс , содержащий JVM, закрыт, все его потоки также закрыты.Об этом заботятся на уровне ОС, когда ОС очищает всю память, выделенную для данного процесса.
Я упоминаю закрытие уровня процесса, чтобы отличить его от других странных, неизвестных состояний, которые JVM могла быслучается так, что он остается запущенным, но в неизвестном состоянии (может быть, он на самом деле ничего не делает, например).
Аналогично, если вы убьете процесс, все дочерние потоки закроются, независимо от их типа (демон / не демон).