1. Что такое попытка с ресурсами?
try-with-resources да Java 7 Введена грамматическая структура для автоматического закрытия реализации. AutoCloseable
ресурсы интерфейса. Он может заменить традиционный try-catch-finally Структура для управления высвобождением ресурсов.
В традиционной структуре try-catch-finally нам необходимо вручную закрыть открытые ресурсы, такие как файлы, соединения с базой данных и т. д. Таким образом, можно легко пропустить или неправильно закрыть ресурсы, что приведет к утечкам ресурсов и сбоям в работе программы. А функция try-with-resources может автоматически гарантировать правильность закрытия ресурсов, снижая сложность кода и вероятность ошибок.
при использовании try-with-resources , компилятор генерирует неявный finally блокируйте, чтобы закрыть Независимо от того, является ли да аномальным, будет вызван ресурс из. close()
метод выполнения операции выключения. Если одновременно существует несколько ресурсов, они закрываются в порядке, обратном объявлению.
подда一个使用 try-with-resources пример, предполагая реализацию AutoCloseable Класс ресурса интерфейса Resource:
try (Resource resource = new Resource()) {
// Используйте ресурсы
} catch (Exception e) {
// 处理аномальный
}
В приведенном выше примере Resource объект и поместите его в try в следующих скобках. существовать try После завершения блока, независимо от того, возникло ли да аномальное, он будет вызван автоматически. Resource из close()
Метод закрытия ресурса.
close()
метод выполнения операции выключения. close()
метод выдает аномальный, тогда исходный аномальный будет скрыт и будет выдавать только close()
методизаномальный。 try-with-resources да Упрощенное управление ресурсами по грамматической структуре, способное заменить традиционное try-catch-finally Структура для управления высвобождением ресурсов. Он может автоматически гарантировать правильность закрытия ресурсов, снижая сложность кода и вероятность ошибок. Но нужно обратить внимание на Класс ресурса должен реализовать AutoCloseable интерфейс и в try Объявление в скобках после объекта ресурса должно быть да final или effectively final из。
[1]
Адрес первого блога: https://blog.zysicyj.top/
[2]
Инструкция по вопросам интервью: https://store.amazingmemo.com/chapterDetail/1685324709017001
[3]
Адрес статьи серии: https://blog.zysicyj.top/categories/технические статьи/бэкенд-технологии/серия статей/вопросы для интервью/