Tomcat 源碼全解與架構思維
黃俊
買這商品的人也買了...
-
$550$495 -
$1,068$1,015 -
$301區塊鏈 2.0 以太坊應用開發指南
-
$1,200$840 -
$658Tomcat 與 JavaWeb 開發技術詳解, 3/e
-
$505內網安全攻防 : 滲透測試實戰指南
-
$760Java 高並發核心編程 捲1 (NIO\Netty\Redis\ZooKeeper)
-
$620$465 -
$630$599 -
$648$616 -
$510$480 -
$479$455 -
$419$398 -
$314人人都離不開的算法 — 圖解算法應用
-
$654$621 -
$534$507 -
$520$390 -
$580$435 -
$580$458 -
$659$626 -
$980$774 -
$1,280$845 -
$980$647 -
$880$695 -
$359$341
相關主題
商品描述
《Tomcat源碼全解與架構思維》對Tomcat的核心骨架源碼和架構思想進行統一的描述,幫助讀者通過該書直接將所有難點、重點的代碼掌握。第一、二章主要幫助讀者開啟“上帝視角”,瞭解掌握Tomcat的整體設計有助於在閱讀源碼時不會不知所措。第三、四章主要介紹了Tomcat組件生命周期、容器生命周期原理,第五章介紹了啟動器原理,第六章介紹了類加載器層級設計與JDK類加載器原理。讀者可以從前面這六章,找到Tomcat的源碼入口,總體生命周期的設計,這樣讀者就可以從第一、二章的“上帝視角”,也即組件樹開始,從根節點Server開始向下緊貼著生命周期來完成對Tomcat架構的理解和學習。後面的章節設計,均是按照樹形結構圖的描述來進行介紹,讀者也可以根據這樣的方式來學習。分別是Server、Service、Connector、Engine、Host、Context、Wrapper。
目錄大綱
為什麽要寫這本書
本書讀者對象
背景知識
如何閱讀本書
勘誤和支持
致謝
第1章 Tomcat架構原理
1.1 Tomcat 到底是什麽
1.2 Tomcat 架構概覽
1.3 Tomcat 配置文件
1.4 Tomcat 源碼結構
1.5 小結
第2章 Tomcat架構設計思維
2.1 自頂向下分析Tomcat架構
2.2 自底向上分析Tomcat架構
2.3 面向對象設計Tomcat架構
2.4小結
第3章 Tomcat生命周期原理
3.1 生命周期管理接口Lifecycle原理
3.2 生命周期狀態接口Lifecycle原理
3.3 生命周期函數與組件狀態轉換原理
3.4 生命周期監聽器與事件類原理
3.4.1 生命周期事件
3.4.2 生命周期監聽器
3.5 生命周期模板類實現原理
3.6 生命周期實例
3.7 Tomcat生命周期與JMX原理
3.8 核心監聽器原理
3.9 小結
第4章 Tomcat容器原理
4.1容器接口定義
4.2容器生命周期事件與監聽器原理
4.3容器模板類實現原理
4.3.1實例變量實現原理
4.3.2屬性操作方法實現原理
4.3.3容器操作方法實現原理
4.3.4後台周期執行操作方法實現原理
4.3.5 JMX註冊支持方法實現原理
4.4小結
第5章 Tomcat啟動器原理
5.1獨立啟動器原理
5.1.1 文件原理
5.1.2 Bootstrap啟動類描述
5.1.3 Catalina核心類描述
5.1.4 SystemLogHandler類原理
5.2內嵌啟動器原理
5.2.1 AbstractApplicationContext 類refresh方法
5.2.2 ServletWebServerApplicationContext 類onRefresh方法
5.2.3 ServletWebServerApplicationContext 類createWebServer方法
5.2.4 TomcatServletWebServerFactory 類getWebServer方法
5.2.5 Tomcat 類核心變量與構造器
5.2.6 Tomcat 類方法
5.3小結
第6章 Tomcat類加載器原理
6.1 Java類加載器原理
6.1.1 Java類加載器層級結構
6.1.2 Java雙親委派機制原理
6.1.3 Java ClassLoader類原理
6.1.4 Java URLClassLoader類原理
6.1.5 Java 雙親委派機制的打破
6.1.6 Java 自定義類加載器
6.2 Tomcat 類加載器層級結構與定義
6.3 Tomcat 頂層類加載器源碼分析
6.4 Tomcat 應用層類加載器源碼分析
6.5 小結
第7章 Tomcat Server服務器原理
7.1 Tomcat Server 接口定義
7.2 Tomcat Server 接口實現
7.2.1 StandardServer 屬性和構造器定義
7.2.2 StandardServer 核心方法
7.2.3 StandardServer 生命周期方法
7.3 小結
第8章 Tomcat Service服務原理
8.1 Tomcat Service 接口定義
8.2 Tomcat Service 接口實現
8.2.1 核心屬性和構造器原理
8.2.2 核心方法
8.2.3 生命周期方法
8.3 MapperListener原理
8.4 Mapper原理
8.4.1 核心變量與構造器原理
8.4.2 核心內部類原理
8.4.3 Mapper核心方法
8.5 小結
第9章 Tomcat Connector連接器原理
9.1 Connector 核心屬性與構造器
9.2 Connector ProtocolHandler 協議初始化原理
9.3 Connector 生命周期方法
9.3.1 initInternal原理
9.3.2 startInternal原理
9.3.3 stopInternal原理
9.3.4 destroyInternal原理
9.4 小結
第10章 Tomcat ProtocolHandler協議處理器原理
10.1 ProtocolHandler 接口定義
10.2 AbstractProtocol原理
10.2.1 構造函數和核心變量
10.2.2 生命周期函數
10.2.3 核心支撐內部類
10.3 AbstractHttp11Protocol原理
10.3.1 構造函數和核心變量
10.3.2 套接字處理器創建原理
10.4 AbstractHttp11JsseProtocol原理
10.5 Http11NioProtocol原理
10.6 小結
第11章 Tomcat Endpoint端點類原理
11.1 AbstractEndpoint 類核心原理
11.1.1 核心變量
11.1.2 核心方法
11.1.3 startAcceptorThreads接收連接線程啟動原理
11.1.4 生命周期函數
11.1.5 核心內部類
11.2 NioEndPoint 類核心原理
11.2.1核心變量原理
11.2.2 bind方法埠綁定原理
11.2.3 unbind方法埠解綁原理
11.2.4 startInternal方法端點啟動執行過程
11.2.5 stopInternal方法端點停止執行過程
11.2.6 setSocketOptions方法客戶端套接字執行過程
11.2.7 核心內部類
11.3 Nio2EndPoint 類核心原理
11.3.1 核心變量和構造器原理
11.3.2 bind方法埠綁定原理
11.3.3 Nio2EndPoint 類核心方法之unbind埠解綁原理
11.3.4 startInternal方法端點啟動原理
11.3.5 stoptInternal方法端點停止原理
11.3.6 setSocketOptions方法客戶端套接字執行過程
11.3.7 核心內部類之Acceptor類原理
11.3.8 核心內部類之Nio2SocketWrapper類原理
11.3.9 核心內部類之SocketProcessor類原理
11.3.10 核心內部類之SendfileData類原理
11.4小結
第12章 Tomcat Processor協議處理原理
12.1 Processor接口定義
12.2 AbstractProcessorLight 協議模板類實現原理
12.3 AsyncStateMachine 協議處理狀態機實現原理
12.4 AbstractProcessor 協議模板類實現原理
12.5 Http11Processor 協議類實現原理
12.6 Request請求類原理
12.7 Response響應類原理
12.8 InputBuffer輸入緩沖區原理
12.9 OutputBuffer輸出緩沖區原理
12.10 Tomcat Adaptor適配器原理
12.11 Tomcat HttpServletRequest與HttpServletResponse實現類原理
12.12小結
第13章 Tomcat Pipeline流水線原理
13.1 Pipeline 接口原理
13.2 StandardPipeline 實現類原理
13.3 Valve接口原理
13.4 ValveBase抽象類原理
13.5 StandardEngineValve 原理
13.6 StandardHostValve 原理
13.7 StandardContextValve原理
13.8 StandardWrapperValve 原理
13.9 ApplicationFilterChain原理
13.10 小結
第14章 Tomcat Engine原理
14.1 Tomcat Engine 接口定義
14.2 StandardEngine 核心變量屬性與構造器原理
14.3 StandardEngine 核心方法之Realm操作原理
14.4 StandardEngine 核心方法之Host操作原理
14.5 StandardEngine 核心方法之日誌操作原理
14.6 StandardEngine 生命周期方法之initInternal實現原理
14.7 StandardEngine 生命周期方法之startInternal實現原理
14.8 EngineConfig 配置類原理
14.9小結
第15章 Tomcat Host原理
15.1 Tomcat Host 接口定義
15.2 StandardHost 核心變量屬性與構造器原理
15.3 StandardHost 核心方法之AppBase與ConfigBase操作原理
15.4 StandardHost 核心方法之alias別名操作原理
15.5 StandardHost 容器生命周期方法之addChild實現原理
15.6 StandardHost 生命周期方法之ContextMemoryLeaks實現原理
15.7 StandardHost 組件生命周期方法之startInternal實現原理
15.8 HostConfig 配置類原理
15.8.1 核心變量與構造器
15.8.2 lifecycleEvent方法
15.8.3 beforeStart方法
15.8.4 start方法
15.8.5 deployApps方法
15.8.6 deployDescriptors方法
15.8.7 deployDescriptor方法
15.8.8 DeployedApplication內部類
15.8.9 addWatchedResources方法
15.8.10 addGlobalRedeployResources方法
15.8.11 deployWARs方法
15.8.12 deployDirectories方法
15.8.13 stop方法
15.8.14 check方法
15.8.15 checkResources方法
15.8.16 reload方法
15.8.17 checkUndeploy方法
15.8.18 undeploy方法
15.9總結
第16章 Tomcat Context原理
16.1 Tomcat Context 接口實現
16.2 StandardContext 核心變量屬性與構造器原理
16.3 StandardContext 生命周期方法
16.3.1 initInternal實現原理
16.3.2 startInternal實現原理
16.3.3 stopInternal實現原理
16.3.4 destroyInternal實現原理
16.4 StandardContext 核心方法
16.4.1postWorkDirectory原理
16.5 WebResourceRoot 根資源原理
16.5.1 生命周期方法
16.5.2 核心方法
16.6 WebResourceSet 資源集原理
16.7 WebResource 資源原理
16.7.1 AbstractResource類
16.7.2 JarResourceRoot類
16.7.3 AbstractArchiveResource類
16.7.4 AbstractSingleArchiveResource類
16.7.5 WarResource類
16.7.6 JarResource
16.7.7 JarWarResource
16.7.8 FileResource
16.7.9 CachedResource
16.7.10 EmptyResource
16.7.11 VirtualResource
16.8 WebappLoader 加載器原理
16.9 WebappClassLoaderBase 類加載器原理
16.10 WebappClassLoaderBase 類核心方法
16.10.1 構造器原理
16.10.2 start啟動原理
16.10.3 stop停止原理
16.10.4 clearReferences原理
16.10.5 cclearReferencesJdbc原理
16.10.6 cclearReferencesThreads原理
16.10.7 ccheckThreadLocalsForLeaks原理
16.10.8 loadClass原理
16.10.9 findClass原理
16.10.10 getResource原理
16.10.11 modified原理
16.11 Manager Session管理器原理
16.11.1 Manager接口
16.11.2 ManagerBase抽象類
16.11.3 ClusterManager接口
16.11.4 ClusterManagerBase抽象類
16.11.5 BackupManager與DeltaManager實現類
16.11.6 PersistentManagerBase抽象類
16.11.7 PersistentManager實現類
16.11.8 StandardManager實現類
16.12 Session 會話原理
16.12.1 StandardSession類
16.12.2 DeltaSession類
16.12.3 DummyProxySession類
16.13 InstanceManager 實例管理器原理
16.13.1 SimpleInstanceManager類
16.13.2 DefaultInstanceManager類
16.14 ApplicationContext 應用上下文原理
16.14.1 核心變量定義和構造器
16.14.2 getRequestDispatcher方法原理
16.14.3 getContext方法原理
16.15 StandardContext 核心方法
16.15.1 backgroundProcess周期方法原理
16.15.2 reload方法原理
16.15.3 ApplicationListener操作方法原理
16.15.4 ServletMapping操作方法原理
16.15.5 Filter操作方法原理
16.15.6 loadOnStartup操作方法原理
16.16 ContextConifg原理
16.16.1 構造器與核心變量
16.16.2 lifecycleEvent方法原理
16.16.3 init方法原理
16.16.4 beforeStart方法原理
16.16.5 configureStart方法原理
16.16.6 configureStop方法原理
16.16.7 destroy方法原理
16.17小結
第17章 Tomcat Wrapper原理
17.1 StandardWrapper 核心變量屬性與構造器原理
17.2 StandardWrapper 生命周期方法
17.2.1 startInternal實現原理
17.2.2 stopInternal實現原理
17.3 StandardWrapper 核心方法
17.3.1 load方法實現原理
17.3.2 unload方法實現原理
17.3.3 initServlet方法實現原理
17.3.4 allocate方法實現原理
17.3.5 loadServlet方法實現原理
17.3.6 deallocate方法實現原理
17.3.7 backgroundProcess方法實現原理
17.4小結