Tomcat 源碼全解與架構思維

黃俊

  • 出版商: 清華大學
  • 出版日期: 2022-09-01
  • 售價: $768
  • 貴賓價: 9.5$730
  • 語言: 簡體中文
  • ISBN: 7302616183
  • ISBN-13: 9787302616184
  • 相關分類: Java 相關技術
  • 立即出貨

  • Tomcat 源碼全解與架構思維-preview-1
  • Tomcat 源碼全解與架構思維-preview-2
  • Tomcat 源碼全解與架構思維-preview-3
Tomcat 源碼全解與架構思維-preview-1

買這商品的人也買了...

商品描述

《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小結