tomcat网络模型
一、概述 tomcat的网络模型有三种,分别是 JIO(即BIO), NIO,NIO2(即AIO)。tomcat7之前包含JIO和NIO,tomcat8之后的版本包含NIO和NIO2。tomcat7默认是JIO,tomcat8之后默认的IO是NIO。这三种IO性能上从高到低 NIO2 > NIO > JIO。下面分别对这三种IO做具体源码级的分析。 JIO API: java.net .ServerSocket、 java.net .Socket NIO API: java.nio.channels.ServerSocketChannel 、 java.nio.channels.SocketChannel 、 java.nio.channels.Selector NIO2 API: java.nio.channels.AsynchronousServerSocketChannel、 java.nio.channels.AsynchronousSocketChannel 二、JIO 流程步骤: JIoEndpoint.Acceptor 负责无线循环获取socket连接 判断是否超过最大并发 接收到socket连接请求,为socket设置自定义属性 将socket包装成 SocketWrapper 创建一个 SocketWrapper 的处理器 SocketProcessor