El paquete Java.nio se introdujo en java 1.4. A diferencia de java I / O en java NIO, se introduce el flujo de datos orientado al búfer y al canal para las operaciones de E / S, que como resultado proporcionan una ejecución más rápida y un mejor rendimiento.
Además, la API de NIO ofrece selectores que presentan la funcionalidad de escuchar múltiples canales para eventos de E / S de forma asíncrona o sin bloqueo. En NIO, las actividades de E / S que consumen más tiempo incluyen el llenado y vaciado de búferes del sistema operativo, lo que aumenta en velocidad.
Las abstracciones centrales de las API de NIO son las siguientes:
Buffers, que son contenedores de datos, conjuntos de caracteres y sus decodificadores y codificadores asociados, que traducen entre bytes y caracteres Unicode.
Canales de varios tipos, que representan conexiones a entidades capaces de realizar operaciones de E / S
Selectores y teclas de selección, que junto con los canales seleccionables definen una instalación de E / S multiplexada y sin bloqueo.