jpoint JPoint 2016 (22.04.2016 — 23.04.2016)

Clean up after yourself!

img

JVM избавляет разработчика от необходимости очищать за собой память после использования. Но это все еще твоя забота – чистить остальные ресурсы, такие как ссылки на файлы, открытые потоки, нативные ресурсы и так далее. Обычно первое решение, которое приходит на ум - это finalizers. Но как часто бывает, первое не значит лучшее.

В докладе я опишу несколько способов очищения использованных ресурсов: автозакрытие, «оберни мою лямбду», очереди ссылок, классы Cleaner ну и, конечно, finalizers. Я покажу, как использовать каждый из них и в чем их достоинства и недостатки.