Tomcat 主要支持以下 4 种 I/O 模型。需要注意的是,随着 Tomcat 版本的迭代,某些模型(如 BIO)已经被移除,而某些模型(如 APR)在最新版本中发生了重大变化。 以下是详细介绍: 1. BIO (Blocking I/O) 描述: 传统的 Java I/O (java.io 包)。 工作原理: 同步阻塞式 I/O。Tomcat 使用传统的 来接收请求。每当有一个客户端连接,Tomcat 就会分配一个线程专门处理该连接。如果该连接处于空闲状态(Keep-Alive),该线程也会被阻塞占用。 缺点: 并发能力低。在面对大量连接时,需要创建大量线程,导致资源耗尽和频繁的上下文切换。 版本状态: 在 Tomcat 8.5 及之后的版本中已被移除。 2. NIO (Non-blocking I/O) 描述: Java NIO (java.nio 包)。 工作原理: 同步非阻塞式 I/O。基于多路复用模型(Selector)。Tomcat 使用少量的线程(Poller 线程)就能轮询处理大量的连接。只有当连接真正有数据读写时,才会分配工作线程去处理。 优点: 并发能力强...