Java學習筆記(七)-tomcat

**

Tomcat的結構

Tomcat的最頂層容器是Server及服務器其下有多個Service用於提供服務,
每個Service包括一個Container和多個Connector
Connector用於處理連接相關的事情,並提供Socket與Request和Response相關的轉化;
Container用於封裝和管理Servlet,以及具體處理Request請求
(圖片轉載https://blog.csdn.net/qq_38245537/article/details/79009448)
圖片轉載https://blog.csdn.net/qq_38245537/article/details/79009448
**
**

Tomcat的類加載器

1.Bootstrap 引導類加載器:加載JVM啓動所需的類,以及標準擴展類(位於jar/lib/ext上)
2.System 系統類加載器:加載Tomcat啓動時的類,比如bootstrap.jar通常在catalina.bat或者catalina.sh中指定。指定位置位於CATALINA_HOME/bin下。
3.Common 通用類加載器:加載tomcat使用以及應用通用的一些類,位於CATALINA_HOME/lib下,比如servlet-api.jar
4.webapp應用類加載器:每個應用在創建後,都會創建一個唯一的類加載器。該類加載器會加載位於WEB-INF/lib下的jar文件中的class和WEB-INF/classes下的class文件。
**
**

Tomcat的線程模型

分別爲NIO、BIO、AIO、ARP
前三個之前的文章已有涉及,ARP爲tomcat以JNI的形式調用http服務器的核心動態鏈接庫來處理文件讀取和網絡傳輸操作

**
**

Tomcat的調優9

涉及四個方面,吞吐量、響應時間、CPULoad、內存使用情況
-Server:因爲Tomcat默認是java-client模式運行,添加server後表示以真實的production的模式運行,將擁有更大、更高的併發處理能力,更快、更強的JVM垃圾回收機制,可以獲得更多的負載和吞吐量等等
-Xms -Xmx -Xmn-Xss即JVM的的一些參數之前文章有提過,
URIEncoding=”UTF-8”:使得tomcat可以解析含有中文名的文件的url
minSpareThreads:最小備用線程數,tomcat啓動時的初始化的線程數
maxSpareThreads:如果空閒狀態的線程數多於設置的數目,則將這些線程中止,減少這個池中的線程總數。
connectionTimeout:網絡連接超時時間毫秒數
maxThreads:Tomcat使用線程來處理接收的每個請求。這個值表示Tomcat可創建的最大的線程數,即最大併發數。
useURIValidationHack:設成"false",可以減少它對一些url的不必要的檢查從而減省開銷。
Tomcat可以配置gzip壓縮(HTTP壓縮)功能原理是,在客戶端請求網頁後,從服務器端將網頁文件壓縮,再下載到客戶端,由客戶端的瀏覽器負責解壓縮並瀏覽
**

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章