先记录
- BIO: blocking I/O,阻塞式I/O操作
一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。
Tomcat7或以下,在Linux系统中默认使用这种方式。
- NIO:non-blocking I/O
利用Java的异步IO处理,可以通过少量的线程处理大量的请求。
Tomcat8在Linux系统中默认使用这种方式。
Tomcat7必须修改Connector配置来启动:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000" redirectPort="8443"/>
- APR:Apache Portable Runtime/Apache可移植运行时库
即Apache Portable Runtime,从操作系统层面解决io阻塞问题。
Tomcat7或Tomcat8在Win7或以上的系统中启动默认使用这种方式。
Linux如果安装了apr和native,Tomcat直接启动就支持apr。(安装方法:http://my.oschina.net/lsw90/blog/181161)
参考链接:
https://www.cnblogs.com/zhuawang/p/5213788.html
https://blog.csdn.net/loyachen/article/details/47280237
原文地址:https://www.cnblogs.com/jony-it/p/10806822.html
时间: 2024-09-30 19:04:39