前言
第1章 分布式Java應用
1.1 基于消息方式實現系統(tǒng)間的通信
1.1.1 基于Java自身技術實現消息方式的系統(tǒng)間通信
1.1.2 基于開源框架實現消息方式的系統(tǒng)間通信
1.2 基于遠程調用方式實現系統(tǒng)間的通信
1.2.1 基于Java自身技術實現遠程調用方式的系統(tǒng)間通信
1.2.2 基于開源框架實現遠程調用方式的系統(tǒng)間通信
第2章 大型分布式Java應用與SOA
2.1 基于SCA實現SOA平臺
2.2 基于ESB實現SOA平臺
2.3 基于Tuscany實現SOA平臺
2.4 基于Mule實現SOA平臺
第3章 深入理解JVM
3.1 Java代碼的執(zhí)行機制
3.1.1 Java源碼編譯機制
3.1.2 類加載機制
3.1.3 類執(zhí)行機制
3.2 JVM內存管理
3.2.1 內存空間
3.2.2 內存分配
3.2.3 內存回收
3.2.4 JVM內存狀況查看方法和分析工具
3.3 JVM線程資源同步及交互機制
3.3.1 線程資源同步機制
3.3.2 線程交互機制
3.3.3 線程狀態(tài)及分析
第4章 分布式應用與Sun JDK類庫
4.1 集合包
4.1.1 ArrayList
4.1.2 LinkedList
4.1.3 Vector
4.1.4 Stack
4.1.5 HashSet
4.1.6 TreeSet
4.1.7 HashMap
4.1.8 TreeMap
4.1.9 性能測試
4.1.10 小結
4.2 并發(fā)包(java.util.concurrent)
4.2.1 ConcurrentHashMap
4.2.2 CopyOnWriteArrayList
4.2.3 CopyOnWriteArraySet
4.2.4 ArrayBlockingQueue
4.2.5 AtomicInteger
4.2.6 ThreadPoolExecutor
4.2.7 Executors
4.2.8 FutureTask
4.2.9 Semaphore
4.2.10 CountDownLatch
4.2.11 CyclicBarrier
4.2.12 ReentrantLock
4.2.13 Condition
4.2.14 ReentrantReadWriteLock
4.3 序列化/反序列化
4.3.1 序列化
4.3.2 反序列化
第5章 性能調優(yōu)
5.1 尋找性能瓶頸
5.1.1 CPU消耗分析
5.1.2 文件IO消耗分析
5.1.3 網絡IO消耗分析
5.1.4 內存消耗分析
5.1.5 程序執(zhí)行慢原因分析
5.2 調優(yōu)
5.2.1 JVM調優(yōu)
5.2.2 程序調優(yōu)
5.2.3 對于資源消耗不多,但程序執(zhí)行慢的情況
第6章 構建高可用的系統(tǒng)
6.1 避免系統(tǒng)中出現單點
6.1.1 負載均衡技術
6.1.2 熱備
6.2 提高應用自身的可用性
6.2.1 盡可能地避免故障
6.2.2 及時發(fā)現故障
6.2.3 及時處理故障
6.2.4 訪問量及數據量不斷上漲的應對策略
第7章 構建可伸縮的系統(tǒng)
7.1 垂直伸縮
7.1.1 支撐高訪問量
7.1.2 支撐大數據量
7.1.3 提升計算能力
7.2 水平伸縮
7.2.1 支撐高訪問量
7.2.2 支撐大數據量
7.2.3 提升計算能力