SelectableChannel 这个抽象类是所有支持异步IO操作的channel(如DatagramChannel、SocketChannel)的父类。SelectableChannel可以注册到一个或多个Selector上以进行异步IO操作。 SelectableChannel可以是blocking和non-blocking模式(所有channel创建的时候都是blocking模式),只有non-blocking的SelectableChannel才可以参与异步IO操作。 SelectableChannel configureBlocking(boolean block)&nb ...
NIO API主要集中在java.nio和它的subpackages中: java.nio 定义了Buffer及其数据类型相关的子类。其中被java.nio.channels中的类用来进行IO操作的ByteBuffer的作用非常重要。   java.nio.channels 定义了一系列处理IO的Channel接口以及这些接口在文件系统和网络通讯上的实现。通过Selector这个类,还提供了进行异步IO操作的办法。这个包可以说是NIO API的核心。   java.nio.channels.spi 定义了可用来实现channel和selector API的抽 ...
import java.net.*; import java.nio.channels.*; import java.nio.*; import java.io.*; import java.nio.charset.*; public class EchoClient { private SocketChannel socketChannel = null; public EchoClient() throws IOException { socketChannel = SocketChannel.open(); // 打开通道 // 设置连接地址和端口 ...
Excutor 接口 --- 线程池            .execute(Runnable task) --- 执行Runnable类型的任务。 Executors  --- 负责生成各种连接池的实例           .newCachedThreadPool()  --- 有任务时才创建新线程,空闲 ...