IT-Lexikon › Programmierung › NIO

NIO Java New I/O

Programmierung Svenska → Aktualisiert: 2026-09-12

Javas nicht-blockierendes I/O-API, eingeführt in Java 1.4 (2002). Drei Konzepte: Channels, Buffers und Selectors. Das Fundament, auf dem Netty und jeder JVM-Server steht.

Vor NIO brauchte jede Verbindung einen eigenen Thread, wodurch zehntausend gleichzeitige Verbindungen praktisch unmöglich waren. Ein Selector lässt stattdessen einen einzigen Thread Tausende Channels überwachen und erst aufwachen, wenn etwas lesbar ist — epoll unter Linux, kqueue unter BSD, IOCP unter Windows. ByteBuffer lässt sich direkt außerhalb des Heaps allozieren, sodass der Kernel keine Kopie anlegen muss, und FileChannel.transferTo liefert Zero-Copy-Versand. NIO.2 (Java 7) brachte Path, Files, das Durchwandern von Dateibäumen und einen Watch-Service. Das API gilt als notorisch sperrig — genau deshalb greift man lieber zu Netty, statt es direkt anzufassen.

← Zurück zum Lexikon