JavaSE:NIO

1.  Channel通道概述

    <1> 通道(Channel):由java.nio.channels包定义的。

               Channel 表示IO源与目标打开的连接。

               Channel类似于传统的“”。   

    <2> 标准的IO,是基于字节流和字符流进行操作的。

      而NIO,是基于通道(Channel) 和 缓冲区(Buffer)进行操作,

      数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中

      (例:相当于一根管子,buffer中的数据可以通过管子,写入被操作的资源当中;

                                 也可以将资源通过管子,写入到buffer中去)

2.  Channel API

    Java为Channel接口提供的最主要实现类如下:

    

     本地资源处理

       FileChannel:用于读取、写入、映射和操作文件的通道 

     网络资源处理

       DatagramChannel: 通过 UDP 读写网络中的数据通道

       SocketChannel: 通过TCP读写网络中的数据  (常用)

       ServerSocketChannel:可以监听新进来的TCP连接,对每一个新进来的连接都会创建一个SocketChannel

原文地址:https://www.cnblogs.com/JasperZhao/p/14958629.html