Встречается на собеседованиях • сегодня

Что будет, если не закрыть ресурс в приложении

Если ресурс (например, 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();
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы