| ByteChannel | A ByteChannel is both readable and writable. | 
| Channel | A channel is a conduit to I/O services covering such items as files, sockets, hardware devices, I/O ports or some software component. | 
| GatheringByteChannel | The interface for channels that can write a set of buffers in a single operation. | 
| InterruptibleChannel | Channels that implement this interface can be asynchronously closed and interrupted. | 
| ReadableByteChannel | A ReadableByteChannel is a type of Channel that can read
 bytes.  | 
          
| ScatteringByteChannel | The interface for channels that can read data into a set of buffers in a single operation. | 
| WritableByteChannel | A WritableByteChannel is a type of Channel that can write
 bytes.  | 
          
| Channels | This class provides several utilities to get I/O streams from channels. | 
| DatagramChannel | A DatagramChannel is a selectable channel that represents a partial
 abstraction of a datagram socket.  | 
          
| FileChannel | An abstract channel type for interaction with a platform file. | 
| FileChannel.MapMode | MapMode defines file mapping mode constants.  | 
          
| FileLock | A FileLock represents a locked region of a file.  | 
          
| Pipe | A pipe contains two channels, forming a unidirectional pipe. | 
| Pipe.SinkChannel | Writable sink channel used to write to a pipe. | 
| Pipe.SourceChannel | Readable source channel used to read from a pipe. | 
| SelectableChannel | A channel that can be used with a Selector.  | 
          
| SelectionKey | A SelectionKey represents the relationship between a channel and a
 selector for which the channel is registered.  | 
          
| Selector | A controller for the selection of SelectableChannel objects.  | 
          
| ServerSocketChannel | A ServerSocketChannel is a partial abstraction of a selectable,
 stream-oriented listening socket.  | 
          
| SocketChannel | A SocketChannel is a selectable channel that provides a partial
 abstraction of stream connecting socket.  | 
          
| AlreadyConnectedException | An AlreadyConnectedException is thrown when an attempt is made to
 connect a SocketChannel that is already connected.  | 
          
| AsynchronousCloseException | An AsynchronousCloseException is thrown when the underlying channel
 for an I/O operation is closed by another thread.  | 
          
| CancelledKeyException | A CancelledKeyException is thrown when an invalid selection key is
 used.  | 
          
| ClosedByInterruptException | A ClosedByInterruptException is thrown when a thread is interrupted
 in a blocking I/O operation.  | 
          
| ClosedChannelException | A ClosedChannelException is thrown when a channel is closed for the
 type of operation attempted.  | 
          
| ClosedSelectorException | A ClosedSelectorException is thrown when a selector
 is closed and an I/O operation is attempted.  | 
          
| ConnectionPendingException | A ConnectionPendingException is thrown when an attempt is made to
 connect a SocketChannel that has a non-blocking connection already
 underway.  | 
          
| FileLockInterruptionException | A FileLockInterruptionException is thrown when a thread is
 interrupted while waiting to acquire a file lock.  | 
          
| IllegalBlockingModeException | An IllegalBlockingModeException is thrown when an operation that
 requires a specific blocking mode is invoked on a channel that is in a
 different blocking mode.  | 
          
| IllegalSelectorException | An IllegalSelectorException is thrown when a call is made to register
 a channel on a selector that has been created by a different provider.  | 
          
| NoConnectionPendingException | A NoConnectionPendingException is thrown if SocketChannel's
 finishConnect method is called before
 the SocketChannel's connect(java.net.SocketAddress) connect} method completed
 without error.  | 
          
| NonReadableChannelException | A NonReadableChannelException is thrown when attempting to read from
 a channel that is not open for reading.  | 
          
| NonWritableChannelException | A NonWritableChannelException is thrown when attempting to write to a
 channel that is not open for writing.  | 
          
| NotYetBoundException | A NotYetBoundException is thrown if the server socket channel is not
 bound before an I/O operation is made.  | 
          
| NotYetConnectedException | A NotYetConnectedException is thrown if the socket channel is not
 connected before an I/O operation is invoked.  | 
          
| OverlappingFileLockException | An OverlappingFileLockException is thrown when attempting to acquire
 a lock that overlaps an existing or pending lock held by this process.  | 
          
| UnresolvedAddressException | An UnresolvedAddressException is thrown when trying to use an
 unresolved network address in a network operation.  | 
          
| UnsupportedAddressTypeException | An UnsupportedAddressTypeException is thrown when connecting or
 binding to an unsupported address type.  |