Java 併發編程的藝術 | 拾書所

Java 併發編程的藝術

$ 336 元 原價 354

 

<內容簡介>

併發編程領域的扛鼎之作,作者是阿裡和1號店的資深Java技術專家,對併發編程有非常深入的研究,方騰飛、魏鵬、程曉明編著的《Java併發編程的藝術》是他們多年一線開發經驗的結晶。本書的部分內容在出版早期發表在Java併發編程網和InfoQ等技術社區,得到了非常高的評價。它選取了Java併發編程中最核心的技術進行講解,從JDK源碼、JVM、CPU等多角度全面剖析和講解了Java併發編程的框架、工具、原理和方法,對Java併發編程進行了最為深入和透徹的闡述。
內容涵蓋Java併發編程機制的底層實現原理、Java內存模型、Java併發編程基礎、Java中的鎖、併發容器和框架、原子類、併發工具類、線程池、Executor框架等主題,每個主題都做了深入的講解,同時通過實例介紹瞭如何應用這些技術。

 

<章節目錄>

前言
第1章  併發編程的挑戰
  1.1  上下文切換
    1.1.1  多線程一定快嗎
    1.1.2  測試上下文切換次數和時長
    1.1.3  如何減少上下文切換
    1.1.4  減少上下文切換實戰
  1.2  死鎖
  1.3  資源限制的挑戰
  1.4  本章小結
第2章  Java併發機制的底層實現原理
  2.1  volatile的應用
  2.2  synchronized的實現原理與應用
    2.2.1  Java對象頭
    2.2.2  鎖的升級與對比
  2.3  原子操作的實現原理
  2.4  本章小結
第3章  Java內存模型
  3.1  Java內存模型的基礎
    3.1.1  併發編程模型的兩個關鍵問題
    3.1.2  Java內存模型的抽象結構
    3.1.3  從源代碼到指令序列的重排序
    3.1.4  併發編程模型的分類
    3.1.5  happens-before簡介
  3.2  重排序
    3.2.1  數據依賴性
    3.2.2  as-if-serial語義
    3.2.3  程序順序規則
    3.2.4  重排序對多線程的影響
  3.3  順序一致性
    3.3.1  數據競爭與順序一致性
    3.3.2  順序一致性內存模型
    3.3.3  同步程序的順序一致性效果
    3.3.4  未同步程序的執行特性
  3.4  volatile的內存語義
    3.4.1  volatile的特性
    3.4.2  volatile寫-讀建立的happens-before關係
    3.4.3  volatile寫-讀的內存語義
    3.4.4  volatile內存語義的實現
    3.4.5  JSR-133為什麼要增強volatile的內存語義
  3.5  鎖的內存語義
    3.5.1  鎖的釋放-獲取建立的
        happens-before關係
    3.5.2  鎖的釋放和獲取的內存語義
    3.5.3  鎖內存語義的實現
    3.5.4  concurrent包的實現
  3.6  final域的內存語義
    3.6.1  final域的重排序規則
    3.6.2  寫final域的重排序規則
    3.6.3  讀final域的重排序規則

    3.6.4  final域為引用類型
    3.6.5  為什麼final引用不能從構造函數內「溢出」
    3.6.6  final語義在處理器中的實現
    3.6.7  JSR-133為什麼要增強final的語義
  3.7  happens-
    3.7.1  JMM的設計
    3.7.2  happens-before的定義
    3.7.3  happens-before規則
  3.8  雙重檢查鎖定與延遲初始化
    3.8.1  雙重檢查鎖定的由來
    3.8.2  問題的根源
    3.8.3  基於volatile的解決方案
    3.8.4  基於類初始化的解決方案
  3.9  Java內存模型綜述
    3.9.1  處理器的內存模型
    3.9.2  各種內存模型之間的關係
    3.9.3  JMM的內存可見性保證
    3.9.4  JSR-133對舊內存模型的修補
  3.10  本章小結
第4章  Java併發編程基礎
  4.1  線程簡介
    4.1.1  什麼是線程
    4.1.2  為什麼要使用多線程
    4.1.3  線程優先級
    4.1.4  線程的狀態
    4.1.5  Daemon線程

Brand Slider