Clean up after yourself!
JVM избавляет разработчика от необходимости очищать за собой память после использования. Но это все еще твоя забота – чистить остальные ресурсы, такие как ссылки на файлы, открытые потоки, нативные ресурсы и так далее. Обычно первое решение, которое приходит на ум - это finalizers. Но как часто бывает, первое не значит лучшее.
В докладе я опишу несколько способов очищения использованных ресурсов: автозакрытие, «оберни мою лямбду», очереди ссылок, классы Cleaner ну и, конечно, finalizers. Я покажу, как использовать каждый из них и в чем их достоинства и недостатки.