作品简介

本书介绍了编写分布式Java应用涉及的众多知识点,分为了基于Java实现网络通信、RPC;基于SOA实现大型分布式Java应用;编写高性能Java应用;构建高可用、可伸缩的系统四个部分,七章内容来进行介绍,在这一本不算厚的书中,一方面结合作者的经验介绍了这些知识点;另一方面提供了进一步学习这些知识点的参考资料,希望能给想掌握编写分布式Java应用知识点的开发人员提供一定的帮助以及指引,同时也希望书中分享的经验对于目前正在从事分布式Java应用编写的开发人员提供帮助。

本书的基础部分介绍了分布式Java应用的基本实现方式(重点是SOA)、相关的JDK类库和第三方框架,并对JVM的基本机制进行了深入解析;实践部分则关注于高性能、高可用和可伸缩系统的构建等。全书文风朴实,并附有大量的代码、数据和图表,比较符合大多数程序员的口味,也非常具有实践指导意义。

林昊,淘宝网架构师,China OSGi User Group Director,2006年开始在商业产品中使用OSGi,并结合自己的经验编写了《OSGi实战》、《OSGi进阶》两篇Opendoc以及《OSGi原理与最佳实践》一书,推动了OSGi在国内的使用;2007年进入淘宝,负责淘宝服务框架的开发,此框架目前每天承担了100亿以上的服务请求量,个人关注的方向为模块化、动态化Java系统,以及高性能、高可用、低成本的大型分布式Java系统的构建。

作品目录

  • 分布 & 分享
  • Get Architecture Done
  • 实践是最好的成长 发表是最好的记忆
  • 高效写作,敏捷出版
  • 前 言
  • 第1章 分布式Java应用
  • 1.1 基于消息方式实现系统间的通信
  • 1.1.1 基于Java自身技术实现消息方式的系统间通信
  • 1.1.2 基于开源框架实现消息方式的系统间通信
  • 1.2 基于远程调用方式实现系统间的通信
  • 1.2.1 基于Java自身技术实现远程调用方式的系统间通信
  • 1.2.2 基于开源框架实现远程调用方式的系统间通信
  • 第2章 大型分布式Java应用与SOA
  • 2.1 基于SCA实现SOA平台
  • 2.2 基于ESB实现SOA平台
  • 2.3 基于Tuscany实现SOA平台
  • 2.4 基于Mule实现SOA平台
  • 第3章 深入理解JVM
  • 3.1 Java代码的执行机制
  • 3.1.1 Java源码编译机制
  • 3.1.2 类加载机制
  • 3.1.3 类执行机制
  • 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 线程状态及分析
  • 第4章 分布式Java应用与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 并发包(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章 性能调优
  • 5.1 寻找性能瓶颈
  • 5.1.1 CPU消耗分析
  • 5.1.2 文件IO消耗分析
  • 5.1.3 网络IO消耗分析
  • 5.1.4 内存消耗分析
  • 5.1.5 程序执行慢原因分析
  • 5.2 调优
  • 5.2.1 JVM调优
  • 5.2.2 程序调优
  • 5.2.3 对于资源消耗不多,但程序执行慢的情况
  • 第6章 构建高可用的系统
  • 6.1 避免系统中出现单点
  • 6.1.1 负载均衡技术
  • 6.1.2 热备
  • 6.2 提高应用自身的可用性
  • 6.2.1 尽可能地避免故障
  • 6.2.2 及时发现故障
  • 6.2.3 及时处理故障
  • 6.2.4 访问量及数据量不断上涨的应对策略
  • 第7章 构建可伸缩的系统
  • 7.1 垂直伸缩
  • 7.1.1 支撑高访问量
  • 7.1.2 支撑大数据量
  • 7.1.3 提升计算能力
  • 7.2 水平伸缩
  • 7.2.1 支撑高访问量
  • 7.2.2 支撑大数据量
  • 7.2.3 提升计算能力
  • 已是悬崖百丈冰,犹有花枝俏—— 美编寄语
  • 过去了是快乐,过不去是折磨—— 编辑手记
展开全部