Встречается на собеседованиях • сегодня
Что такое select
`select` в Java относится к механизму выбора готовых каналов ввода-вывода (NIO) для неблокирующих операций. Основные классы — `Selector`, `SelectableChannel` (например, `SocketChannel`, `ServerSocketChannel`).
**Пример:**
```java
Selector selector = Selector.open();
SocketChannel channel = SocketChannel.open();
channel.configureBlocking(false);
channel.register(selector, SelectionKey.OP_READ);
while (true) {
int readyChannels = selector.select(); // Блокирует, пока не будет готовых каналов
if (readyChannels == 0) continue;
Set selectedKeys = selector.selectedKeys();
for (SelectionKey key : selectedKeys) {
if (key.isReadable()) {
// Обработка чтения
}
selectedKeys.remove(key);
}
}
```
**Ключевые моменты:**
- `SelectionKey` определяет тип операции (READ, WRITE, CONNECT, ACCEPT).
- `select()` блокирует поток до готовности хотя бы одного канала.
- Используется в высоконагруженных серверах (например, веб-сокеты).

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