1. 程式人生 > 其它 >Tomcat中為什麼要使用自定義類載入器,Tomcat如何進行優化

Tomcat中為什麼要使用自定義類載入器,Tomcat如何進行優化

Tomcat中為什麼要使用自定義類載入器

一個Tomcat中可以部署多個應用,而每個應用中都存在很多類,並且各個應用中的類是獨立的,全類名是可以相同的,比如一個訂單系統中可能存在com.zhouyu.User類,一個庫存系統中可能也存在com.zhouyu.User類,一個Tomcat,不管內部部署了多少應用,Tomcat啟動之後就是一個Java程序,也就是一個IVM,所以如果Tomcat中只存在一個類載入器,比如預設的AppClassLoader,那麼就只能載入一個com.zhouyu.User類,這是有問題的,而在Tomcat中,會為部署的每個應用都生成一個類載入器,名字叫做WebAppClassloader,這樣Tomcat中每個應用就可以使用自己的類載入器去載入自己的類,從而達到應用之間的類隔離,不出現衝突。

Tomcat如何進行優化

對於Tomcat調優,可以從兩個方面來進行調整:記憶體和執行緒。

首先啟動Tomcat,實際上就是啟動了一個VM,所以可以按JVM調優的方式來進行調整,從而達到Tomcat優化的目的。另外Tomcat中設計了一些快取區,比如appReadBufSize、bufferPoolSize等快取區來提高吞吐量。

還可以調整Tomcat的執行緒,比如調整minSpareThreads引數來改變Tomcat空閒時的執行緒數,調整maxThreads引數來設定Tomcat處理連線的最大執行緒數。並且還可以調整IO模型,比如使用NIO、APR這種相比於BIO更加高效的IO模型。