server
lifecycle
connector
container
engine容器
host容器
context容器
其他元件
順序:listener -> filter -> servlet
tomcat設計思想和模式
httprequestfacade 類封裝了 httprequest 介面能夠提供資料,通過 httprequestfacade 訪問到的資料都被**到 httprequest 中
通常被封裝的物件都被設為 private 或者 protected 訪問修飾,以防止在 façade 中被直接訪問
觀察者(監聽)模式
命令模式
命令模式的優點
更動態的控制
很自然的復合命令
更好的擴充套件性
tomcat命令模式
server 首先建立命令請求者 httpconnector 物件,然後建立命令 httpprocessor 命令物件。再把命令物件交給命令接受者 containerbase 容器來處理命令。命令的最終是被 tomcat 的 container 執行的。命令可以以佇列的方式進來,container 也可以以不同的方式來處理請求,如 http1.0 協議和 http1.1 的處理方式就會不同
責任鏈(chain of responsibility )模式 結構
適用場景
跟命令模式區別
epoll原理剖析
首先我們來定義流的概念,乙個流可以是檔案,socket,pipe等等可以進行i o操作的核心物件。不管是檔案,還是套接字,還是管道,我們都可以把他們看作流。之後我們來討論i o的操作,通過read,我們可以從流中讀入資料 通過write,我們可以往流寫入資料。現在假定乙個情形,我們需要從流中讀資料,...
NGINX原理剖析
nginx之所以能夠支援高併發,是由於它採用非同步 事件驅動的方式處理連線。nginx有乙個master process,負責載入配置檔案,繫結埠等特權操作 有cache manage process和cache loader process兩個程序負責硬碟快取的處理,在nginx啟動時,將硬碟的快...
next permutation原理剖析
最近刷leetcode的時候遇見next permutation這道題,感覺挺有意思的乙個題目,遞迴的方法是較簡單並且容易想到的,在網上搜了其餘的解法,就是std next permutation非遞迴解法,但是讓人不是很舒服的就是關於原理的部分,千篇一律的都是摘抄 stl原始碼剖析 也就是這樣的。...