●第一部分 架構師的基礎知識修煉
第1章 操作繫統原理:程序是如何運行和崩潰的
1.1 程序是如何運行起來的
1.2 一臺計算機如何同時處理數以百計的任務
1.3 繫統為什麼會變慢,為什麼會崩潰
1.4 小結
第2章 數據結構原理:Hash表的時間復雜度為什麼是O(1)
2.1 數組的結構
2.2 鏈表的結構
2.3 Hash表的結構
2.4 棧的結構
2.5 隊列的結構
2.6 樹的結構
2.7 小結
第3章 Java虛擬機原理:JVM為什麼被稱為機器
3.1 JVM的構造
3.2 JVM的垃圾回收
3.3 Web應用程序在JVM中的執行過程
3.4 小結
第4章 網絡編程原理:一個字符的互聯網之旅
4.1 DNS域名解析原理
4.2 CDN
4.3 HTTP的結構
4.4 TCP的結構
4.5 鏈路層負載均衡原理
4.6 小結
第5章 文件繫統原理:用1分鐘遍歷一個100TB的文件
5.1 硬盤結構原理
5.2 文件繫統原理
5.3 RAID硬盤陣列原理
5.4 分布式文件繫統架構原理
5.5 小結
第6章 數據庫原理:SQL為什麼要預編譯
6.1 數據庫架構與SQL執行過程
6.2 使用PrepareStatement執行SQL的好處
6.3 數據庫文件存儲與索引工作原理
6.4 小結
第7章 編程語言原理:面向對像編程是編程的終極形態嗎
7.1 軟件編程的遠古時代
7.2 機器與彙編語言時代
7.3 高級編程語言時代
7.4 面向對像編程時代
7.5 編程語言的未來
7.6 小結
第二部分 架構師的程序設計修煉
第8章 軟件設計的方法論:軟件為什麼要建模
8.1 什麼是軟件建模
8.2 4+1視圖模型
8.3 UML建模
8.4 小結
……
第三部分 架構師的架構方法修煉
第四部分 架構師的思維修煉
附錄A 軟件開發技術的第一性原理
附錄B 我的架構師成長之路
附錄C 無處不在的架構之美
附錄D 軟件架構師之道