Unsafe是托委访问socket,那么Channel是直接提供给开发者使用的

Channel 主要有两个实现 NioServerSocketChannel同NioSocketChannel 致于其它不常用不在研究范围内

NioServerSocketChannel 是给server用的,程序由始至终只有一个NioServerSocketChannel

NioSocketChannel 是给客户端用的,每个连接生成一个NioSocketChannel 对象

 

NioSocketChannel同NioSocketChannel的继承关系

NioSocketChannel -> AbstractNioByteChannel -> AbstractNioChannel -> AbstractChannel

NioServerSocketChannel -> AbstractNioMessageChannel-> AbstractNioChannel -> AbstractChannel

小提示:如果看文字不够直观可以在eclipse里按快捷键 选择类 ctrl+t 

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

channel有unsafe相应的实现类,反之亦是。其实功能是很简单的,划分太多对象目的是对某部分功能重用,有时也可能因过渡设计造成

对于channel我们主要分析 I/O read/write操作

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

  NioServerSocketChannel  AbstractNioMessageChannel    SelectorProvider DEFAULT_SELECTOR_PROVIDER =
    (=  NioServerSocketChannelConfig(  doReadMessages(List<Object> bu