第1章 後端技術導言
1.1後端基礎設施
1.1.1 請求統一入口——API網關
1.1.2 業務應用和後端基礎框架
1.1.3 緩存、數據庫、搜索引擎、消息隊列
1.1.4 文件存儲
1.1.5 統一認證中心
1.1.6 單點登錄係統
1.1.7 統一配置中心
1.1.8 服務治理框架
1.1.9 統一調度中心
1.1.10 統一日誌服務
1.1.11 數據基礎設施
1.1.12 故障監控
1.2 Java後端技術概覽
1.2.1 軟件開發的核心原則
1.2.2 軟件開發的軟件過程
1.2.3 日常開發常用工具
1.2.4 應用的運行環境
1.2.5 常用第三方服務
1.2.6 計算機基礎科學知識
1.2.7 數據處理相關技能
1.2.8 Java編程知識
1.2.9 係統架構演化
1.2.10 典型的部署架構
1.3 如何學習後端技術
1.3.1 紮實的計算機基礎知識
1.3.2 知其然更要知其所以然
1.3.3 動手實踐
1.3.4 頻繁練習
1.3.5 持續學習
1.3.6 自我總結
1.3.7 如何學習一門新技術
1.3.8 總結
第2章 Java項目與工程化
2.1 項目構建
2.1.1 傳統構建工具——Ant
2.1.2 主流構建工具——Maven
2.1.3 新興構建工具——Gradle
2.2 代碼版本控製
2.2.1 集中式代碼版本管理——SVN
2.2.2 分布式代碼版本管理——Git
2.2.3 提交日誌的規範
2.3 代碼質量保證
2.3.1 使用單元測試保證代碼質量
2.3.2 衡量單元測試的標準
2.3.3 開發規範與建議
第3章 開發框架
3.1 依賴注入
3.1.1 JSR-330依賴注入規範
3.1.2 Guice
3.1.3 PicoContainer
3.1.4 Dagger
3.1.5 Spring Framework
3.1.6 循環依賴問題
3.2 對象關係映射
3.2.1 錶元數據的映射
3.2.2 CRUD以及屬性的查詢
3.2.3 查詢緩存的使用
3.2.4 結果的映射
3.2.5 規範SQL書寫的語句構建器
3.2.6 使用提示
3.3 日誌
3.3.1 JDK Logging
3.3.2 Log4j
3.3.3 Log4j2
3.3.4 Logback
3.3.5 統一日誌API的門麵框架
3.3.6 統一日誌框架的使用
3.4 Web MVC
3.4.1 為什麼是Spring MVC
3.4.2 Spring MVC的請求處理流程
3.4.3 典型的配置方式
3.4.4 無XML的配置方式
3.4.5 對MVC應用做單元測試
3.4.6 驗證Web請求的參數
3.4.7 使用異步Servlet
3.4.8 使用提示
第4章 Spring
4.1 Spring核心組件
4.1.1 Spring的雙親上下文機製
4.1.2 Spring中的事件機製
4.1.3 Bean的初始化和銷毀
4.1.4 Bean的動態構造
4.1.5 注入集閤、枚舉、類的靜態字段
4.1.6 麵嚮方麵編程——AOP
4.1.7 進階XML的配置
4.1.8 無XML的配置方式
4.2 Spring數據操作框架
4.2.1 Spring JDBC
4.2.2 Spring Data Redis
4.2.3 Spring Data MongoDB
4.3 Spring Boot
4.3.1 Spring Boot使用示例
4.3.2 Spring Boot的運行原理
4.3.3 Spring Boot的組成模塊
4.3.4 小結
4.4 Spring常用組件
4.4.1 錶達式引擎——Spring Expression Language
4.4.2 遠程過程訪問的支持——Spring Remoting
4.4.3 Spring與JMX的集成
4.4.4 定時任務的支持——Spring Quartz
4.4.5 跨域請求的支持——Spring CORS
4.5 總結
第5章 數據存儲
5.1 關係型數據庫——MySQL
5.1.1 存儲引擎
5.1.2 字符集和校對規則
5.1.3 索引的使用
5.1.4 查詢緩存的使用
5.1.5 數據同步中的Binlog
5.1.6 事務機製
5.1.7 大錶優化
5.1.8 高可用支持
5.1.9 使用提示
5.2 非關係型數據庫
5.2.1 KV數據庫
5.2.2 文檔數據庫——MongoDB
5.2.3 列數據庫——HBase
5.3 緩存
5.3.1 本地緩存
5.3.2 分布式緩存——Redis
5.3.3 緩存設計的典型方案
5.4 搜索引擎——Elasticsearch
5.4.1 開源全文檢索庫——Apache Lucene
5.4.2 關鍵概念
5.4.3 查詢的優化
5.4.4 內存的使用優化
5.4.5 開源日誌管理方案——ELK
第6章 數據通信
6.1 RESTful架構風格
6.1.1 支持的操作
6.1.2 返迴碼
6.1.3 資源概念
6.1.4 數據的安全保障
6.1.5 請求的限流
6.1.6 超文本API
6.1.7 編寫文檔
6.1.8 RESTful API實現
6.2 遠程過程調用——RPC
6.2.1 JDK自帶的RPC——RMI
6.2.2 Hessian
6.2.3 Thrift
6.2.4 Dubbo
6.2.5 數據的序列化機製
6.2.6 使用提示
6.3 消息中間件
6.3.1 簡單消息中間件——ActiveMQ
6.3.2 通用消息中間件——RabbitMQ
6.3.3 日誌消息中間件——Kafka
6.3.4 本地消息隊列
第7章 Java編程進階
7.1 Java內存管理
7.1.1 JVM虛擬機內存
7.1.2 垃圾迴收理論
7.1.3 常用垃圾迴收器
7.2 Java網絡編程
7.2.1 常見網絡I/O模型
7.2.2 Java網絡編程模型
7.3 Java並發編程
7.3.1 並發原理
7.3.2 並發思路
7.3.3 並發工具
7.3.4 並發編程建議
7.4 Java開發利器
7.4.1 Apache工具庫——Apache Commons
7.4.2 Google工具庫——Guava
7.4.3 最好用的時間庫——Joda Time
7.4.4 高效JSON處理庫——FastJson
7.4.5 高效Bean映射框架——Orika
7.5 Java新版本的特性
7.5.1 Java 7
7.5.2 Java 8
7.5.3 Java 9
7.6 總結
第8章 性能調優
8.1 調優準備
8.1.1 HotSpot虛擬機體係結構
8.1.2 操作係統的性能調優
8.1.3 係統常用診斷工具
8.1.4 JDK常用診斷工具
8.2 性能分析
8.2.1 CPU分析
8.2.2 內存分析
8.2.3 I/O分析
8.2.4 其他分析工具
8.3 性能調優
8.3.1 CPU調優
8.3.2 內存調優
8.3.3 I/O調優
8.3.4 其他優化建議
8.3.5 JVM參數配置
8.3.6 JVM性能增強
第9章 安全技術
9.1 Java加密
9.1.1 單嚮加密算法
9.1.2 對稱加密算法
9.1.3 非對稱加密算法
9.2 安全HTTP——HTTPS
9.2.1 安全協議——SSL/TLS
9.2.2 證書中心——CA
9.2.3 請求交互過程
9.2.4 性能優化
9.3 Web安全
9.3.1 跨站點腳本攻擊
9.3.2 跨站點請求僞造
9.3.3 SQL注入攻擊
9.3.4 基於約束條件的SQL攻擊
9.3.5 分布式拒絕服務攻擊——DDOS
9.3.6 會話固定攻擊——Session fixation
附錄A 代碼構建常用命令
附錄B Git常用命令
附錄C MySQL常用命令
附錄D MongoDB常用命令
附錄E Java調優常用命令
· · · · · · (
收起)