tomcat源码介绍(废)
protocol
- 采用bio的情况是
org.apache.coyote.http11Protocol (BIO) 一夫一妻制度
org.apache.coyote.http11NIOProtocol (NIO) 一夫多妻制度
org.apache.coyote.http11APrProtocol (Apr)
org.apache.coyote.http11NIO2Protocol (AIO)
介绍 | 描述 |
---|---|
BIO | 阻塞时IO。即tomcat使用传统java.io进行操作,该模式下每个请求都会创建一个线程,对性能开销大,不适合高并发场景,优点稳定,适合连接数目小且固定架构, |
NIO | 非阻塞式IP。jdk1.4知乎实现新io,该模式基于多路复合选择器检测连接状态在通知线程处理,从而达到非阻塞式的目的,比传统BIO有更好支持并发性能,TOMCAT8.0知乎默认采用该模式 |
APR | 全称是Apache Portable Runtime(Apache可移植运行库)是apache http服务器的支持库,可以简单得理解为,tomcat将以jni得形式调用apache http服务器核心动态链接库来处理文件读取或网络传输操作,使用需要编译安装apr库 |
AIO | 一部非阻塞式IP。jdk1.7之后支持,与nio不同在于不需要多路复用选择器,而是请求处理线程执行完线程进行回调通知,已继续执行后续操作,tomcat8 之后支持 |
tomcat 配置
- 配置server.xml文件当中得 connector protocol=“http/1.1” 就是bio
- tomcat 8.0之hi默认采用该模式,nio protocol=“org.apache.coyote.http11NIOProtocol”
- 同上