Я читал много вопросов о новобранцах Java на finalize() и обнаружил, что это немного озадачивает, что никто не сделал этого ясно, что finalize() является ненадежным способом очистки ресурсов. Я заметил, что кто-то прокомментировал, что они используют его для очистки Connections, что очень страшно, поскольку единственный способ приблизиться к гарантии закрытия соединения - это реализовать попытку (catch).Зачем вам когда-либо реализовывать finalize()?
Я не обучался в CS, но я программировал на Java профессионально уже около десяти лет, и я никогда не видел, чтобы кто-либо реализовал finalize() в производственной системе когда-либо. Это все еще не означает, что у него нет его использования или люди, с которыми я работал, делали это правильно.
Итак, мой вопрос в том, какие варианты использования для реализации finalize() не могут быть обработаны более надежно с помощью другого процесса или синтаксиса в языке?
Просьба указать конкретные сценарии или ваш опыт, просто повторить текстовый учебник Java или использовать намерение конечного использования недостаточно, и это не является целью этого вопроса.
HI finalize() метод очень хорошо объяснен здесь http://howtodoinjava.com/2012/10/31/why-not-to-use-finalize-method-in-java/ – 2014-04-14 09:30:03