搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
分布式Java应用:基础与实践
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121109416
  • 作      者:
    林昊著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2010
收藏
编辑推荐
  8年技术生涯,让自已感触最深的是视野以及专业的重妻。 在面临问题时,开阔的视野就像是一本书的目录,提供了方向的指导:专业则代表了在一个或多个领域杰出的解决问题的能力。这些能力一方面需要建立在开阔的视野基础上。另一方面则需要建立在不浪费自己工作环境的基础上。
  开阔的视野可以让自己看到更多好的经验、知识,但在没有实践之前这些终归都只是理论。结合自己的兴趣点。将对自己工作有益、同时对公司有益的经验、知识结合到实际的工作环境中,让自己的成长与公司的成长同步。才能真正拥有这些知识和经验,让自己在某些领域具备更为突出的能力,在专业上“有自己的地盘儿”。
展开
作者简介
  林昊,淘宝网架构师China OSGi User Group Director。2006年开始在商业产品中使用OSGi,并结合自己的经验编写了《OSGi实践》、《OSGi进阶》两篇0pendoc以及《OSGi原理与**实践》一书,推动了OSGi在国内的使用。2007年进入淘宝,负责淘宝服务框架的开发,此框架目前每天承担了100亿以上的服务请求量。个人关注的方向为模块化、动态化Java系统,以及高性能、高可用、低成本的大型分布式Java系统的构建。
展开
内容介绍
  介绍分布式Java应用涉及的知识点,分为基于Java实现网络通信、RPC;基于SOA实现大型分布式Java应用;编写高性能Java应用;构建高可用、可伸缩的系统四个部分,共七章内容。作者结合自己在淘宝网的实际工作经验展开论述,既可作供初学者学习,也可供同行参考。
展开
精彩书评
  林昊总结了在淘宝进行大规模Java应用的经验,呕心沥血写出的这本书既有理论深度,叉具有极强的实战指导意义,升级指南,不得不读。
  ——人间网创始人,CTO 曹晓钢
  在概念满天飞的浮躁时代,林昊以朴实的文字和扎实的基础,由浅入深介绍分布式应用设计开发的架构和技术细节?在豆瓣正向SOA转型的节骨眼儿得到这样一本书,真是恰逢甘霖。
  ——豆瓣架构师 洪强宁
  本书不仅深入分析了大规模Java系统间通讯、SOA架构、集群、可伸缩和高可用性系统,还有难得一见的JVM内幕分析和对CPU、IO、内存的性能调优实践,对开发高性能系统相当有帮助。
  ——搜狐工程师 邓正平
  本书详述了构建大型分布式Java应用的相关知识与应用场景,使用大量代码进行实例分析,对构建高可用系统帮助很大,遗憾的是对系统架构集成等方面的影响未做更深入的讨论。
  ——网易杭州研究院工程师 尧飘海
  在互联网领域,性能调优、分布式、高可用、可伸缩等总是困扰着大家,少有高手分享实战经验,一书难求。这本书系统分析了上述典型问题,并给出了多种解决方案和扩展阅读,着实让我过了一把瘾。期待着林昊今后还能在系统层面和原理层面做更深入的分享。
  ——中国移动数据业务运营中心门户技术部经理 朱岩
  国内大部分Java工程师了解的知识面都偏向于SSH、MVVC框架等,精通高访问量托并发应用的Java技术人员奇缺。本书讲到的构建可伸缩系统章节非常实用,不少方法我们也正在使用。书中对性能调优的介绍也非常专业和深入,对于大型系统的调优具有极大的参考价值。
  ——新浪架构师 杨卫华
  对于大型分布式应用和性能,很多书或陷入细节,或流于空谈,本书则把细节、架构、底层、应用平衡得很好,技术功底之外,更有写作的诚意、,若语言能更生动一些,可读性会更好。
  ——瑞友科技(原用友软件工程公司)IT应用研究院副院长 池建强
  Java类图书,汗牛充栋,有关分布式高可用系统架的书却很稀少,本书填补了这方面的空白。即便是非Java类开发者,也能从中学到大型分布式高可用系统的设计方法和思路。
  ——上海盛大网络发展有限公司 技术保障中心总监资深研究员 陈桂新
  对每一个新的知识点,作者都列出了很多链接,供读者进一步学习。期待这本书让更多人受益。
  ——上海赢思软件技术有限公司资深系统/网络安全架构师 陈成才
展开
精彩书摘
  第1章 分布式Java应用
  大型应用通常会拆分为多个子系统来实现,对于Java来说,这些子系统可能部署在同一台机器的多个不同的JVM中,也可能部署在不同的机器上,但这些子系统又不是完全独立的,要相互通信来共同实现业务功能,对于此类Java应用,我们称之为分布式Java应用。
  Martin Fowler在《企业应用架构模式》一书中曾经说过:“能不用分布式的情况下就不要用分布式”,当应用变为分布式Java应用时,会很大程度地增加应用实现的技术复杂度,对于分布式Java应用,通常有两种典型的方法来实现。
  1.基于消息方式实现系统间的通信
  当系统之间要通信时,就向外发送消息,消息可以是字节流、字节数组,甚至是Java对象,其他系统接收到消息后则进行相应的业务处理。
  消息方式的系统间通信,通常基于网络协议来实现,常用的实现系统间通信的协议有:TCP/IP和UDP/IP。
  TCP/IP是一种可靠的网络数据传输的协议。TCP/IP要求通信双方首先建立连接,之后再进行数据的传输。TCP/IP负责保证数据传输的可靠性,包括数据的可到达、数据到达的顺序等,但由于TCP/IP需要保证连接及数据传输的可靠,因此可能会牺牲一些性能。
  UDP/IP是一种不保证数据一定到达的网络数据传输协议。UDP/IP并不直接给通信的双方建立连接,而是发送到网络上进行传递。由于UDP/IP不建立连接,并且不能保证数据传输的可靠,因此性能上表现相对较好,但可能会出现数据丢失以及数据乱序的现象。
展开
目录
前言
第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.1 0小结
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 提升计算能力
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证