[color=darkblue][b]系統啟動 – cachefilter[/b][/color]
oscache頁面快取在使用時需要在web.xml中配置cachefilter,在容器中,filter先於servlet啟動,下面看看cachefilter在容器啟動時,做了哪些工作:
首先需要了解oscache的幾個類:
[color=indigo]servletcacheadministrator[/color] -- 該類用於建立、重新整理、管理快取。
[color=indigo]config[/color] -- 負責獲取快取配置檔案,即oscache.properties。如果使用預設的建構函式,這個類會從properties檔案中載入快取配置。
[color=indigo]cache[/color] -- 為快取本身提供乙個介面。這個類的例項會根據它的構造引數建立乙個快取。
從以上可以看出,oscache隨系統啟動,僅僅做了三個步驟:
1. 建立了乙個servletcacheadministrator物件;
2. 獲取web.xml配置檔案中重新整理時間
3. 獲取web.xml配置檔案中重新整理範圍
在建立servletcacheadministrator物件時,oscache進行了如下工作:
servletcacheadministrator的建構函式:
private servletcacheadministrator(servletcontext context, properties p)
通過以上方法,在servletcontext上下文中,設定了如下屬性:
context.setattribute(cache_administrator_key, admin);
將建立的servletcacheadministrator物件放入名為__oscache_admin的屬性
context.setattribute(getcachekey(), cache);
將建立的cache物件放入名為__oscache_cache的屬性
[b][color=darkblue]快取頁面首次開啟與重新整理 – dofilter[/color][/b]
首先需要了解oscache的幾個類:
responsecontent:在快取中用byte陣列形式保留servlet響應物件。
Read Write spinlock工作原理
1 假設臨界區內沒有任何的thread,這時候任何read thread或者write thread可以進入,但是只能是其一。2 假設臨界區內有乙個read thread,這時候新來的read thread可以任意進入,但是write thread不可以進入 3 假設臨界區內有乙個write thr...
SpringCloud Eureka工作原理
eureka 作為 spring cloud 體系中最核心 預設的註冊中心元件,研究它的執行機制,有助於我們在工作中更好地使用它。eureka 註冊中心 包含兩個元件 eureka server和eureka client。服務提供者和服務的消費者。eureka負責管理 記錄服務提供者的資訊。服務呼...
selenium webdriver工作原理
1 啟動瀏覽器,selenium webdriver會將目標瀏覽器繫結帶特定的埠,啟動後的瀏覽器則作為webdriver的remote server 服務端 2 客戶端 也就是測試指令碼 傳送http請求給server端。通訊協議 the webdriver wire protocol,在http請...