The API was introduced in JDK 1.4, and it is non-blocking synchronous I/O. One thread will handle multiple connections.Each *client connection* is registered with the *Multiplexer Selector**, and the server **Thread* polls the multiplexer to check whether there exists any I/O request. If find one, The *Thread* will handle it.