Зачем вам вообще реализовывать finalize ()?



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



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



Итак, мой вопрос в том, какие варианты использования существуют для реализации finalize (), которые не могут быть обработаны более надежно с помощью другого процесса или синтаксиса в языке?



пожалуйста, укажите конкретные сценарии или ваш опыт, просто повторение текстовой книги Java или предполагаемое использование finalize недостаточно, и это не является целью этого вопроса.

587   0  

Comments

    Ничего не найдено.