Tuesday, December 10, 2013



Java NIO Tutorial


By Jakob Jenkov
Connect with me:  
   Jenkov.com - News
Java NIO (New IO) is an alternative IO API for Java (from Java 1.4), meaning alternative to the standard Java IO API's. Java NIO offers a different way of working with IO than the standard IO API's.

Java NIO: Channels and Buffers

In the standard IO API you work with byte streams and character streams. In NIO you work with channels and buffers. Data is always read from a channel into a buffer, or written from a buffer to a channel.

Java NIO: Asynchronous IO

Java NIO enables you to do asynchronous IO. For instance, a thread can ask a channel to read data into a buffer. While the channel reads data into the buffer, the thread can do something else. Once data is read into the buffer, the thread can then continue processing it. The same is true for writing data to channels.

Java NIO: Selectors

Java NIO contains the concept of "selectors". A selector is an object that can monitor multiple channels for events (like: connection opened, data arrived etc.). Thus, a single thread can monitor multiple channels for data.

Java NIO: Table of Contents

Here is the table of contents for this Java NIO tutorial:
Java NIO
Java NIO Introduction
Java NIO Overview
 
Java NIO Channel
Java NIO Buffer
Java NIO Scatter / Gather
Java NIO Channel to Channel Transfer
Java NIO Selector
 
Java NIO FileChannel
Java NIO SocketChannel
Java NIO ServerSocketChannel
Java NIO DataGramChannel
Java NIO Pipe
 
Java NIO vs. IO