幫助中心 | 我的帳號 | 關於我們

Java高併發編程指南

  • 作者:編者:謝議尊|責編:張雲靜//吳秀川
  • 出版社:北京大學
  • ISBN:9787301289464
  • 出版日期:2020/06/01
  • 裝幀:平裝
  • 頁數:369
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

內容大鋼
    隨著移動互聯網的發展,幾乎所有主流的互聯網應用都需要應對高併發場景的挑戰。所以不管是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  小結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032