欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Java高并发编程指南
      • 作者:编者:谢议尊|责编:张云静//吴秀川
      • 出版社:北京大学
      • ISBN:9787301289464
      • 出版日期:2020/06/01
      • 页数:369
    • 售价:35.6
  • 内容大纲

        随着移动互联网的发展,几乎所有主流的互联网应用都需要应对高并发场景的挑战。所以不管是Java初学者,还是从业多年的Java开发老兵,了解和掌握Java高并发编程的相关知识都是非常必要的。
        本书内容由浅入深,采用理论与实践相结合的方式讲解Java高并发编程的相关知识。首先,介绍对高并发的理解、Java多线程基础、Jrdva并发包相关类的使用与设计原理;然后,拓展讲解分布式系统设计的相关原理、挑战、涉及的相关框架、中间件等;最后,对流行的Java开源框架的源码设计进行分析,结合实现一个简易版的秒杀系统来介绍如何基于Java语言实现一个高并发系统,达到原理与实践相结合的目的,帮助读者朋友更好地掌握Java高并发编程的知识。
  • 作者介绍

        谢议尊,2016年本科毕业于中山大学软件工程专业,毕业后一直从事服务端研发工作,目前在BAT其中一家任职。擅长Java服务端编程,熟悉Java各核心框架的源码设计,有着丰富的高并发系统设计与开发经验。
  • 目录

    第一部分 基础篇
    第1章  高并发的理解
      1.1  何为高并发
        1.1.1  高性能、高可用与高并发
        1.1.2  并发与并行
        1.1.3  高并发的衡量指标
      1.2  高并发的应对策略
        1.2.1  单机高并发
        1.2.2  分布式高并发
      1.3  小结
    第2章  操作系统多线程基础
      2.1  线程概念
        2.1.1  多任务调度
        2.1.2  线程与进程的关系
        2.1.3  多线程模型
      2.2  多线程的挑战
        2.2.1  数据一致性
        2.2.2  死锁问题
        2.2.3  线程上下文切换与内存开销
      2.3  小结
    第3章  Java多线程基础
      3.1  线程的使用
        3.1.1  Thread类的使用
        3.1.2  Runrlable接口的使用
      3.2  线程的状态与状态转换
        3.2.1  线程的状态
        3.2.2  线程的状态转换
        3.2.3  JDK线程状态查看工具
      3.3  线程安全
        3.3.1  synchronized关键字与互斥锁
        3.3.2  volatile关键字与线程可见性
        3.3.3  不可变的final关键字与无状态
        3.3.4  ThreadLocal线程本地变量
      3.4  小结
    第二部分 进阶篇
    第4章  Executor线程池框架
      4.1  Executor线程池框架设计概述
      4.2  Executor接口与ExecutorService接口
        4.2.1  ExectJtor接口
        4.2.2  ExecutorService接口
      4.3  ThreadPoolExecutor线程池
        4.3.1  用法
        4.3.2  工作线程池
        4.3.3  任务的提交
        4.3.4  任务的执行
        4.3.5  任务的执行结果
        4.3.6  任务拒绝策略
        4.3.7  线程池的关闭
      4.4  Future任务的异步结果
        4.4.1  任务的执行结果FutureTask

        4.4.2  任务的提交与返回执行结果
      4.5  ScheduledExecutorService任务周期性执行
        4.5.1  用法
        4.5.2  固定频率与固定延迟执行
        4.5.3  周期性任务停止执行的原因
      4.6  Executors线程池创建工具
        4.6.1  固定线程池,无界队列
        4.6.2  无界线程池
        4.6.3  任务周期性执行线程池
      4.7  ForkJoin任务分解与并行执行框架
        4.7.1  用法
        4.7.2  ForkJoinPool线程池
        4.7.3  Workoueue任务队列处理器
        4.7.4  ForkJ0inTask递归任务
      4.8  小结
    第5章  Java线程安全字典
      5.1  Hashtable全同步Map
        5.1.1  用法
        5.1.2  源码实现
      5.2  SynchronizedMap同步器Map
        5.2.1  用法
        5.2.2  源码实现
      5.3  ConcurrentHashMap并发Map
        5.3.1  用法
          5.3.2 JDK 1.7  源码实现
          5.3.3 JDK 1.8  源码实现
      5.4  ConcurrentSkipListMap有序并发Map
        5.4.1  用法
        5.4.2  源码实现
      5.5  小结
    第6章  Java并发队列
      6.1  BlockingQueue阻塞先入先出队列
        6.1.1  用法
        6.1.2  源码实现
      6.2  BlockingDeque阻塞先入先出双端队列
        6.2.1  用法
        6.2.2  源码实现
      6.3  ConcurrentLinkedQueue并发队列
        6.3.1  用法
        6.3.2  源码实现
        6.3.3  C0ncurrentLinkedDeaue并发双端队列
      6.4  CopyOnWriteArray List写时拷贝列表
        6.4.1  用法
        6.4.2  源码实现
      6.5  小结
    第7章  AQS线程同步器
      7.1  AQS线程同步器基础
        7.1.1  核心设计
        7.1.2  核心方法
      7.2  ReentrantLOCk可重入锁

        7.2.1  用法
        7.2.2  源码实现
        7.2.3  基于Corlditiorl的生产者消费者模型
        7.2.4  ReentrantReadWriteLOCK可重入读写锁
      7.3  CountDownLatch倒计时同步器
        7.3.1  用法
        7.3.2  源码实现
      7.4  CyclicBarrier循环栅栏同步器
        7.4.1  用法
        7.4.2  源码实现
      7.5  Semaphore信号量同步器
        7.5.1  用法
        7.5.2  源码实现
      7.6  小结
    第三部分拓展篇
    第8章  分布式系统设计理论
      8.1  系统架构演进
        8.1.1  单体应用架构
        8.1.2  分布式应用架构
        8.1.3  集群
      8.2  分布式理论
        8.2.1  CAP理论
        8.2.2  BASE理论
      8.3  高并发
      8.4  负载均衡
        8.4.1  四层负载均衡与七层负载均衡
        8.4.2  负载均衡的实现算法
      8.5  缓存机制
        8.5.1  缓存更新
        8.5.2  缓存过期清理
        8.5.3  缓存淘汰机制
        8.5.4  缓存穿透与缓存雪崩
      8.6  异步处理
      8.7  高可用
        8.7.1  限流
        8.7.2  熔断
        8.7.3  降级
      8.8  可靠性与容错机制
        8.8.1  容错机制
        8.8.2  重试与幂等性
      8.9  小结
    第9章  Java分布式应用设计核心技术
      9.1  分布式服务调用RPC框架
        9.1.1  RPC的核心原理
        9.1.2  跨语言调用型:qRPC与Thrift
        9.1.3  服务治理型:Dubbo与Motan
      9.2  分布式消息队列
      9.3  AMQP协议实现:RabbitMQ
        9.3.1  RabbitMQ的核心组件
        9.3.2  持久化与镜像队列

        9.3.3  集群:对等集群
      9.4  海量消息处理:Kafka
        9.4.1  主题与分区
        9.4.2  生产者
        9.4.3  broker机器集群
        9.4.4  消费者
      9.5  Redis消息队列与发布订阅
        9.5.1  基于列表的消息队列
        9.5.2  消息发布与订阅的使用
      9.6  分布式缓存
        9.6.1  MemCached
        9.6.2  Redis
      9.7  分布式锁
        9.7.1  线程锁与分布式锁
        9.7.2  基于Redis实现分布式锁的原理
        9.7.3  基于ZooKeeper实现分布式锁的原理
      9.8  小结
    第四部分 实践篇
    第10章  开源框架高并发源码分析
      10.1  Dubbo高并发编程实战
        10.1.1  Dubbo协议方法调用的请求与响应
        10.1.2  服务端与客户端的限流
      10.2  Netty与Tomcat的线程模型
        10.2.1  NIO与Reactor线程模型
        10.2.2  Netty线程模型设计
        10.2.3  Tomcat线程模型设计
      10.3  小结
    第11章  秒杀系统设计分析
      11.1  秒杀系统设计概述
        11.1.1  秒杀系统设计思路
        11.1.2  秒杀实战项目:eshop
      11.2  限流机制
        11.2.1  核心设计
        11.2.2  URI和用户维度的限流实现
      11.3  缓存的使用
        11.3.1  核心设计
        11.3.2  商品库存缓存实现
      11.4  分布式锁的使用
      11.5  队列削峰与异步处理
      11.6  小结