Я читал много вопросов о новичке в Java по finalize() и мне кажется немного странным, что никто не дал понять, что finalize() - ненадежный способ очистки ресурсов. Я видел, как кто-то комментирует, что он использует его для очистки соединений, что действительно страшно, поскольку единственный способ приблизиться к гарантии закрытия соединения - это реализовать try (catch) в конце концов.
 Я не учился в CS, но профессионально программирую на Java уже почти десять лет, и я никогда не видел, чтобы кто-нибудь реализовывал finalize() в производственной системе. Это по-прежнему не означает, что у него нет использования, или что люди, с которыми я работал, делали это правильно.
 Поэтому мой вопрос: какие варианты использования существуют для реализации finalize() которая не может быть обработана более надежно с помощью другого процесса или синтаксиса в языке?
Пожалуйста, предоставьте конкретные сценарии или ваш опыт, просто повторения учебника по Java или завершения предполагаемого использования недостаточно, так как цель этого вопроса не в этом.
