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

Что такое Java NIO

Java NIO (New I/O) — это альтернативный API для ввода-вывода, представленный в Java 1.4. В отличие от стандартного IO (потокового), NIO использует буферизованный, неблокирующий и канальный подход, что делает его более эффективным для работы с большими объемами данных или множеством соединений.

Ключевые компоненты:

  • Buffers — контейнеры для данных (ByteBuffer, CharBuffer и др.)
  • Channels — аналоги потоков, но с двунаправленной передачей данных
  • Selectors — механизм мультиплексирования для неблокирующих операций

Пример чтения файла:

java
try (FileChannel channel = FileChannel.open(Paths.get("file.txt"))) {
    ByteBuffer buffer = ByteBuffer.allocate(1024);
    while (channel.read(buffer) > 0) {
        buffer.flip();
        while (buffer.hasRemaining()) {
            System.out.print((char) buffer.get());
        }
        buffer.clear();
    }
}

NIO особенно полезен для высоконагруженных сетевых приложений и работы с файлами большого размера.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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