❓ В чём разница между IO и NIO?
🔹 IO (Input/Output)
— Потоково-ориентированный подход (stream-oriented).
— Блокирующий ввод-вывод (thread блокируется, пока операция не завершится).
— Не поддерживает неблокирующие операции.
— Нет встроенных средств буферизации, требует ручной реализации.
— Подходит для простых задач, небольших файлов и данных.
🔹 NIO (New Input/Output)
— Буферно-ориентированный подход (buffer-oriented).
— Поддерживает неблокирующий ввод-вывод (non-blocking).
— Позволяет работать с каналами (channels), буферами (buffers), селекторами (selectors).
— Эффективен при работе с большим количеством одновременных подключений и крупными данными.
— Производительность выше за счёт асинхронности и сокращения потоков.
🐸
Библиотека собеса по Java