tcp/ip协议的nio客户端和nio、epoll服务端的类继承体系

279 阅读1分钟

一、tcp/ip协议的nio客户端和nio、epoll服务端的类继承体系

image.png

二、AbstractChannel

  1. 继承自Channel
  2. 提供了Channel的骨架性

三、AbstractNioChannel

  1. 继承自AbstractChannel
  2. 使用nio技术的AbstractChannel的基础类

四、AbstractNioByteChannel

  1. 继承自AbstractNioChannel
  2. 是使用字节数组的AbstractNioChannel的基础类;

五、AbstractNioMessageChannel

  1. 继承自AbstractNioChannel
  2. 是使用对象报文的AbstractNioChannel的基础类;

六、NioSocketChannel

  1. 它实现了SocketChannel,因此它表示的是一个tcp的连接
  2. 同时它继承了AbstractNioByteChannel,因此它获得了操作字节数组的Nio的channel的能力;
  3. NioSocketChannel在他的本类中加入tcp协议的内容,就可以表示一个操作字节数组的使用Nio技术的channel;

七、NioServerSocketChannel

  1. 实现了ServerSocketChannel,因此它是一个tcp的监听套接字
  2. 同时它继承了AbstractNioMessageChannel,因此它就继承了nio的能力;不太清楚,后面在来解答;

八、AbstractEpollChannel

  1. 继承自AbstractChannel和UnixChannel
  2. 是使用Epoll的技术的AbstractChannel

九、AbstractEpollServerChannel

  1. 实现了ServerChannel同时继承了AbstractEpollChannel
  2. 说明AbstractEpollServerChannel是一个使用Epoll技术的channel,同时它又是一个ServerChannel可以生产Channel;

十、EpollServerSocketChannel

  1. 实现了ServerSocketChannel说明它生产的channel是tcp协议的;
  2. 同时继承了AbstractEpollServerChannel说明它使用技术是epoll