Все, что я читал о методе java finalize, говорит НЕ его использовать. Кажется, что почти никогда не гарантируется, что он будет вызван, и даже если это так, могут возникнуть проблемы.
Есть несколько других вопросов, которые задают, когда его использовать, и, кажется, общее мнение таково: НИКОГДА.
Я никогда не использовал его сам (в основном из-за предупреждений не делать этого) и нигде не видел, чтобы он использовался.
Есть ли вообще случаи, когда это было бы уместно? Бывают ли случаи, когда альтернативы нет?
Если нет, то почему он там? Существуют ли внутренние классы, которые используют его и требуют, чтобы метод был доступен? Или это просто то, чего не должно быть?
Меня не столько интересует, когда я должен его использовать (на что был дан ответ «никогда»), сколько разъяснение того, почему он даже там дан этот ответ «никогда». Если он такой бесполезный и опасный, то почему его не обесценили и не убрали?