Встречается на собеседованиях • сегодня
На что ориентируется NIO
NIO (New Input/Output) в Java ориентируется на работу с буферами и каналами для эффективного ввода-вывода. В отличие от традиционного IO, который потоковый, NIO использует буферизацию и неблокирующие операции, что позволяет обрабатывать множество соединений в одном потоке.
Ключевые компоненты:
- Буферы (Buffers) – хранят данные для чтения/записи.
- Каналы (Channels) – обеспечивают двустороннюю передачу данных.
- Селекторы (Selectors) – позволяют одному потоку мониторить несколько каналов.
Пример:
java
try (FileChannel channel = FileChannel.open(Paths.get("file.txt"), StandardOpenOption.READ)) {
ByteBuffer buffer = ByteBuffer.allocate(1024);
while (channel.read(buffer) > 0) {
buffer.flip(); // Переключаем на чтение
while (buffer.hasRemaining()) {
System.out.print((char) buffer.get());
}
buffer.clear(); // Очищаем для следующего чтения
}
} catch (IOException e) {
e.printStackTrace();
}NIO особенно полезен для высоконагруженных приложений, таких как серверы.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы