●章 深入Web請求過程 1
1.1 B/S網絡架構概述 2
1.2 如何發起一個請求 4
1.3 HTTP協議解析 6
1.3.1 查看HTTP信息的工具 8
1.3.2 瀏覽器緩存機制 9
1.4 DNS域名解析 12
1.4.1 DNS域名解析過程 12
1.4.2 跟蹤域名解析過程 15
1.4.3 清除緩存的域名 18
1.4.4 幾種域名解析方式 19
1.5 CDN工作機制 20
1.5.1 CDN架構 20
1.5.2 負載均衡 21
1.5.3 CDN動態加速 24
1.6 總結 25
第2章 深入分析Java I/O的工作機制 26
2.1 Java的I/O類庫的基本架構 26
2.1.1 基於字節的I/O操作接口 27
2.1.2 基於字符的I/O操作接口 28
2.1.3 字節與字符的轉化接口 29
2.2 磁盤I/O工作機制 30
2.2.1 幾種訪問文件的方式 30
2.2.2 Java訪問磁盤文件 34
2.2.3 Java序列化技術 35
2.3 網絡I/O工作機制 37
2.3.1 TCP狀態轉化 38
2.3.2 影響網絡傳輸的因素 40
2.3.3 Java Socket的工作機制 40
2.3.4 建立通信鏈路 41
2.3.5 數據傳輸 42
2.4 NIO的工作方式 42
2.4.1 BIO帶來的挑戰 42
2.4.2 NIO的工作機制 43
2.4.3 Buffer的工作方式 46
2.4.4 NIO的數據訪問方式 48
2.5 I/O調優 50
2.5.1 磁盤I/O優化 50
2.5.2 TCP網絡參數調優 51
2.5.3 網絡I/O優化 53
2.6 設計模式解析之適配器模式 57
2.6.1 適配器模式的結構 57
2.6.2 Java I/O中的適配器模式 58
2.7 設計模式解析之裝飾器模式 58
2.7.1 裝飾器模式的結構 59
2.7.2 Java I/O中的裝飾器模式 59
2.8 適配器模式與裝飾器模式的區別 60
2.9 總結 60
第3章 深入分析Java Web中的中文編碼問題 61
3.1 幾種常見的編碼格式 61
3.1.1 為什麼要編碼 61
3.1.2 如何“翻譯” 62
3.2 在Java中需要編碼的場景 64
3.2.1 在I/O操作中存在的編碼 64
3.2.2 在內存操作中的編碼 66
3.3 在Java中如何編解碼 67
3.3.1 按照ISO-8859-1編碼 69
3.3.2 按照GB2312編碼 70
3.3.3 按照GBK編碼 71
3.3.4 按照UTF-16編碼 71
3.3.5 按照UTF-8編碼 72
3.3.6 UTF-8編碼代碼片段 72
3.3.7 對幾種編碼格式的比較 74
3.4 在Java Web中涉及的編解碼 74
3.4.1 URL的編解碼 76
3.4.2 HTTP Header的編解碼 79
3.4.3 POST表單的編解碼 79
3.4.4 HTTP BODY的編解碼 80
3.5 JS中的編碼問題 81
3.5.1 外部引入JS文件 81
3.5.2 JS的URL編碼 82
3.5.3 其他需要編碼的地方 84
3.6 常見問題分析 84
3.6.1 中文變成了看不懂的字符 84
3.6.2 一個漢字變成一個問號 85
3.6.3 一個漢字變成兩個問號 85
3.6.4 一種不正常的正確編碼 86
3.7 一種繁簡轉換的實現方式 87
3.8 總結 88
第4章 Javac編譯原理 89
4.1 Javac是什麼 90
4.2 Javac編譯器的基本結構 90
4.3 Javac工作原理分析 92
4.3.1 詞法分析器 93
4.3.2 語法分析器 100
4.3.3 語義分析器 105
……
內容簡介
《深入分析Java Web技術內幕(修訂版)》主要圍繞Java Web 相關技術從三方面全面、深入地進行了闡述。首先介紹前端知識,即在JavaWeb 開發中涉及的一些基本知識,包括Web 請求過程、HTTP、DNS 技術和CDN 技術。其次深入介紹了Java 技術,包括I/O 技術、中文編碼問題、Javac 編譯原理、class 文件結構解析、ClassLoader 工作機制及JVM 的內存管理等。很後介紹了Java 服務端技術,主要包括Servlet、Session 與Cookie、Tomcat 與Jetty服務器、Spring 容器、iBatis 框架和Velocity 框架等原理介紹,並介紹了服務端的一些優化技術。
本書不僅介紹這些技術和框架的工作原理,而且結合示例來講解,通過通俗易懂的文字和豐富、生動的配圖,讓讀者充分並深入理解它們的內部工作原理,同時還結合了設計模式來......