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

Java高併發核心編程(卷2多線程鎖JMMJUC高併發設計模式)

  • 作者:編者:尼恩|責編:遲振春
  • 出版社:機械工業
  • ISBN:9787111679882
  • 出版日期:2021/05/01
  • 裝幀:平裝
  • 頁數:470
人民幣:RMB 129 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書聚焦Java併發編程基礎知識,介紹了Java多線程、線程池、內置鎖、JMM、CAS、JUC、高併發設計模式等併發編程方面的核心原理和實戰知識。
    本書共分為10章。第1-2章淺顯易懂地剖析多線程、線程池的核心原理和實戰使用,揭秘線程安全問題和Java內置鎖的核心原理;第3-4章細緻地講解CAS原理與JUC原子類、JMM的核心原理,揭秘CAS操作的弊端和兩類規避措施、解密Java如何內存可見性和volatile關鍵字的底層知識;第5章細緻地介紹JUC顯示鎖的原理和各種顯示鎖的使用;第6章圖文並茂、深入淺出地闡述JUC高併發的基礎設施:AQS抽象同步器核心原理;第7章介紹JUC容器類;第8-10章介紹常見的Java高併發設計模式的原理和使用。
    本書既可作為Java工程師、架構師的編程參考書,又可以作為參加互聯網大廠面試、筆試的人員的學習參考書。
    

作者介紹
編者:尼恩|責編:遲振春
    尼恩,中南大學碩士,資深系統架構師、IT領域資深作家、著名博主、從業十余年,先後在華為、神州數碼等公司從事技術研發、架構工作。長期專註于高性能Web平台、高性能通信、高性能搜索、數據挖掘等領域的3高架構研究、架構實操、核心代碼開發工作,以及核心中間件、底層源碼研究工作,負責過多個億級RMB智慧城市平台、大型政務平台、數據中台架構、技術中台架構工作,發起的3高研究社群「瘋狂創客圈」目前有研究人員1100多人。

目錄
前言
自序
第1章  多線程原理與實戰
  1.1  兩個技術面試故事
  1.2  無處不在的進程和線程
    1.2.1  進程的基本原理
    1.2.2  線程的基本原理
    1.2.3  進程與線程的區別
  1.3  創建線程的4種方法
    1.3.1  Thread類詳解
    1.3.2  創建一個空線程
    1.3.3  線程創建方法一:繼承Thread類創建線程類
    1.3.4  線程創建方法二:實現Runnable介面創建線程目標類
    1.3.5  優雅創建Runnable線程目標類的兩種方式
    1.3.6  通過實現Runnable介面的方式創建線程目標類的優缺點
    1.3.7  線程創建方法三:使用Callable和FutureTask創建線程
    1.3.8  線程創建方法四:通過線程池創建線程
  1.4  線程的核心原理
    1.4.1  線程的調度與時間片
    1.4.2  線程的優先順序
    1.4.3  線程的生命周期
    1.4.4  一個線程狀態的簡單演示案例
    1.4.5  使用Jstack工具查看線程狀態
  1.5  線程的基本操作
    1.5.1  線程名稱的設置和獲取
    1.5.2  線程的sleep操作
    1.5.3  線程的interrupt操作
    1.5.4  線程的join操作
    1.5.5  線程的yield操作
    1.5.6  線程的daemon操作
    1.5.7  線程狀態總結
  1.6  線程池原理與實戰
    1.6.1  JUC的線程池架構
    1.6.2  Executors的4種快捷創建線程池的方法
    1.6.3  線程池的標準創建方式
    1.6.4  向線程池提交任務的兩種方式
    1.6.5  線程池的任務調度流程
    1.6.6  ThreadFactory(線程工廠)
    1.6.7  任務阻塞隊列
    1.6.8  調度器的鉤子方法
    1.6.9  線程池的拒絕策略
    1.6.10  線程池的優雅關閉
    1.6.11  Executors快捷創建線程池的潛在問題
  1.7  確定線程池的線程數
    1.7.1  按照任務類型對線程池進行分類
    1.7.2  為IO密集型任務確定線程數
    1.7.3  為CPU密集型任務確定線程數
    1.7.4  為混合型任務確定線程數
  1.8  ThreadLocal原理與實戰
    1.8.1  ThreadLocal的基本使用

    1.8.2  ThreadLocal的使用場景
    1.8.3  使用ThreadLocal進行線程隔離
    1.8.4  使用ThreadLocal進行跨函數數據傳遞
    1.8.5  ThreadLocal內部結構演進
    1.8.6  ThreadLocal源碼分析
    1.8.7  ThreadLocalMap源碼分析
    1.8.8  ThreadLocal綜合使用案例
第2章  Java內置鎖的核心原理
  2.1  線程安全問題
    2.1.1  自增運算不是線程安全的
    2.1.2  臨界區資源與臨界區代碼段
  2.2  synchronized關鍵字
    2.2.1  synchronized同步方法
    2.2.2  synchronized同步塊
    2.2.3  靜態的同步方法
  2.3  生產者-消費者問題
    2.3.1  生產者-消費者模式
    2.3.2  一個線程不安全的實現版本
    2.3.3  一個線程安全的實現版本
  2.4  Java對象結構與內置鎖
    2.4.1  Java對象結構
    2.4.2  Mark Word的結構信息
    2.4.3  使用JOL工具查看對象的布局
    2.4.4  大小端問題
    2.4.5  無鎖、偏向鎖、輕量級鎖和重量級鎖
  2.5  偏向鎖的原理與實戰
    2.5.1  偏向鎖的核心原理
    2.5.2  偏向鎖的演示案例
    2.5.3  偏向鎖的膨脹和撤銷
  2.6  輕量級鎖的原理與實戰
    2.6.1  輕量級鎖的核心原理
    2.6.2  輕量級鎖的演示案例
    2.6.3  輕量級鎖的分類
    2.6.4  輕量級鎖的膨脹
  2.7  重量級鎖的原理與實戰
    2.7.1  重量級鎖的核心原理
    2.7.2  重量級鎖的開銷
    2.7.3  重量級鎖的演示案例
  2.8  偏向鎖、輕量級鎖與重量級鎖的對比
  2.9  線程間通信
    2.9.1  線程間通信的定義
    2.9.2  低效的線程輪詢
    2.9.3  wait方法和notify方法的原理
    2.9.4  「等待-通知」通信模式演示案例
    2.9.5  生產者-消費者之間的線程間通信
……
第3章  CAS原理與JUC原子類
第4章  可見性與有序性的原理
第5章  JUC顯示鎖的原理與實戰
第6章  AQS抽象同步器的核心原理

第7章  JUC容器類
第8章  高併發設計模式
第9章  高併發核心式之非同步回調模式
第10章  CompletableFuture非同步回調

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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