Tomcat:第四章:Tomcat IO模型

2020-10-25 14:01:05

知識點:

  1. Tomcat支援的IO模型說明

  2. BIO 與NIO的區別

1、Tomcat支援的IO模型說明

  描述
BIO 阻塞式IO,即Tomcat使用傳統的java.io進行操作。該模式下每個請求都會建立一個執行緒,對效能開銷大,不適合高並行場景。優點是穩定,適合連線數目小且固定架構。
NIO 非阻塞式IO,jdk1.4 之後實現的新IO。該模式基於多路複用選擇器監測連線狀態在通知執行緒處理,從而達到非阻塞的目的。比傳統BIO能更好的支援並行效能。Tomcat 8.0之後預設採用該模式
APR 全稱是 Apache Portable Runtime/Apache可移植執行庫),是Apache HTTP伺服器的支援庫。可以簡單地理解為,Tomcat將以JNI的形式呼叫Apache HTTP伺服器的核心動態連結庫來處理檔案讀取或網路傳輸操作。使用需要編譯安裝APR 庫
AIO 非同步非阻塞式IO,jdk1.7後之支援 。與nio不同在於不需要多路複用選擇器,而是請求處理執行緒執行完程進行回撥調知,已繼續執行後續操作。Tomcat 8之後支援。
   

使用指定IO模型的設定方式: 設定 server.xml 檔案當中的 <Connector  protocol="HTTP/1.1">    修改即可。 預設設定 8.0  protocol=「HTTP/1.1」 8.0 之前是 BIO 8.0