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

Является ли NIO потокоорентируемым

NIO (New I/O) не является потокоориентированным, в отличие от традиционного IO. Вместо этого он использует буферизованные каналы и неблокирующие операции. Основные отличия:

  1. Каналы (Channels) вместо потоков — работают с буферами (ByteBuffer)
  2. Неблокирующий режим — можно проверять готовность данных без блокировки потока
  3. Селекторы (Selectors) — один поток может управлять множеством каналов

Пример неблокирующего чтения:

java
SocketChannel channel = SocketChannel.open();
channel.configureBlocking(false);
channel.connect(new InetSocketAddress("example.com", 80));

while(!channel.finishConnect()) {
    // Делаем что-то полезное, пока соединение устанавливается
}

ByteBuffer buffer = ByteBuffer.allocate(48);
int bytesRead = channel.read(buffer); // Не блокируется, если данных нет

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

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

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

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

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