Пакет Java.nio был представлен в Java 1.4. В отличие от java I / O в java NIO введен поток данных, ориентированный на буфер и канал, для операций ввода / вывода, что в результате обеспечивает более быстрое выполнение и лучшую производительность.
Также NIO API предлагает селекторы, которые вводят функциональность прослушивания нескольких каналов для событий ввода-вывода асинхронным или неблокирующим способом. В NIO наиболее трудоемкие операции ввода-вывода, включая заполнение и опустошение буферов для операционной системы, которые увеличиваются в скорости.
Основные абстракции API-интерфейсов NIO следующие —
Буферы, которые являются контейнерами для данных, наборов символов и связанных с ними декодеров и кодеров, которые преобразуются между байтами и символами Unicode.
Каналы различных типов, которые представляют соединения с объектами, способными выполнять операции ввода-вывода
Селекторы и клавиши выбора, которые вместе с выбираемыми каналами определяют мультиплексированный неблокирующий механизм ввода / вывода.