Встречается на собеседованиях • сегодня
Что будет, если не закрыть ресурс в приложении
Если ресурс (например, InputStream, OutputStream, Connection) не закрыть явно (вызовом close() или через try-with-resources), это может привести к утечкам памяти, исчерпанию пула соединений или блокировке файлов.
Пример проблемы:
java
try {
FileInputStream fis = new FileInputStream("file.txt");
// работа с файлом, но забыли fis.close()
} catch (IOException e) {
e.printStackTrace();
}Последствия:
- Утечка файловых дескрипторов (при достижении лимита ОС новые файлы не откроются).
- Незакрытые соединения с БД могут исчерпать пул, приводя к ошибкам подключения.
- Ресурсы не освобождаются до сборки мусора (которая может не сработать вовремя).
Решение: Используйте try-with-resources (Java 7+):
java
try (FileInputStream fis = new FileInputStream("file.txt")) {
// автоматическое закрытие
} catch (IOException e) {
e.printStackTrace();
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы