1. 源碼分析
1.1 設計模式
1.2 spring
1.3 mybatis
1.4 hibernate
2. 工具
2.1 maven vs gradle
2.2 jenkins
2.3 sonar
2.4 git
3. 分佈式
3.1 CDN加速,系統容災,監控
3.2 CAP,一致性等
3.3 網絡通信原理
3.4 通信協議中的序列化,反序列化
3.5 基於框架的rpc技術
3.6 dubbo,zookeeper,etcd,consul
中間件:
分佈式消息通信:kafka,activemq
redis主從複製和無磁盤複製,aof、rdb持久化策略
mongodb集羣解決方案,數據分片,轉存及恢復策略
基於openresty部署應用層nginx以及nginx+lua
nginx反向代理及負載均衡配置
基於netty實現高性能聊天
基於netty實現dubbo多協議支持
netty無鎖化串行設計和高併發處理機制
全局ID生成方案
session跨域共享,企業級單點登錄解決方案
高併發情況下服務降級,限流方案
分佈式鎖
分佈式定時調度
4. 微服務
4.1 微框架
4.2 spring cloud
4.3 docker
4.4 漫談微服務架構
5. 性能調優
5.1 jvm
數據區
內存模型JMM
各種垃圾回收及應用場景
GC日誌
MAT分析dump文件
5.2 tomcat
運行機制與框架
tomcat線程模型
系統參數及調優
基準測試
5.3 mysql
底層B+ tree機制
執行計劃,索引優化
sql語句優化
6. 併發編程
6.1 併發基礎
JMM
CAS
AQS
6.2 原子操作
基本類型
數組
引用類型
6.3 併發工具類
cyclicBarrier
countDownLatch
Semphore
6.4 併發集合
6.5 線程池
6.6 鎖
Lock
Condition
6.7 volatile
實現機制
內存語義
內存模型
6.8 synchronized
原理
鎖優化:自旋鎖,輕量級鎖,重量級鎖,偏向鎖
6.9 threadLocal
6.10 Fork/Join