Java高并發編程詳解 多線程與架構設計pdf

圖書網
圖書網
圖書網
11860
文章
1867
評論
2021年2月1日15:55:25
評論
50
摘要

適讀人群 :1. 開發人員。他們可以非常系統地掌握Java多線程高并發的開發技巧和深入理解其中API的細節;2. 架構師。他們可以掌握架構設計的技巧,搭建高吞吐量高可用的Java應用程序。? 3.關于Java技術的程序員。
立足于線程源碼剖析,從基礎入手,逐層漸進深入,環環緊扣,針對技術細節進行了細致歸納,在解讀源碼的時候又引入了優秀的架構設計。
以業務場景下的真實問題作為導向,詳細闡述每一個解決方案的來龍去脈,突出“身臨其境”的閱讀效果。
將大量的實際案例、原理剖析和實戰代碼相結合,讓讀者能夠更加清晰深入地理解每一個技術細節的用法和實用技巧。
結合業界公認的好的設計架構技巧模式解決實際開發中遇到的問題,站在程序架構設計的角度指導讀者設計高效靈活的多線程應用程序。

Java高并發編程詳解 多線程與架構設計 作者:汪文君

Java高并發編程詳解 多線程與架構設計 出版社:機械工業出版社

Java高并發編程詳解 多線程與架構設計 內容簡介

香蕉小视频app本書主要包含四個部分:

第一部分主要闡述Thread的基礎知識,詳細介紹線程的API使用、線程安全、線程間數據通信,以及如何保護共享資源等內容,它是深入學習多線程內容的基礎。

第二部分引入了ClassLoader,這是因為ClassLoader與線程不無關系,我們可以通過synchronized關鍵字,或者Lock等顯式鎖的方式在代碼的編寫階段對共享資源進行數據一致性保護,那么一個Class在完成初始化的整個過程到后在方法區(JDK8 以后在元數據空間)其數據結構是怎樣確保數據一致性的呢?這就需要對ClassLoader有一個比較全面的認識和了解。

第三部分詳細、深入地介紹volatile關鍵字的語義,volatile關鍵字在Java中非常重要,可以說它奠定了Java核心并發包的高效運行,在這一部分中,我們通過實例展示了如何使用volatile關鍵字以及非常詳細地介紹了Java內存模型等知識。

本書的第四部分,站在程序架構設計的角度深入講解了如何設計高效靈活的多線程應用程序,這一部分長達15個章節,其重要程度可見一斑。

Java高并發編程詳解 多線程與架構設計 目錄

前言

第一部分 多線程基礎

第1章 快速認識線程

1.1 線程的介紹

1.2 快速創建并啟動一個線程

香蕉小视频app1.3 線程的生命周期詳解

1.4 線程的start方法剖析:模板設計模式在Thread中的應用

1.5 Runnable接口的引入以及策略模式在Thread中的使用

1.6 本章總結

香蕉小视频app第2章 深入理解Thread構造函數

香蕉小视频app2.1 線程的命名

香蕉小视频app2.2 線程的父子關系

香蕉小视频app2.3 Thread與ThreadGroup

2.4 Thread與Runnable

香蕉小视频app2.5 Thread與JVM虛擬機棧

2.6 守護線程

2.7 本章總結

第3章 Thread API的詳細介紹

香蕉小视频app3.1 線程sleep

3.2 線程yield

3.3 設置線程的優先級

3.4 獲取線程ID

3.5 獲取當前線程

3.6 設置線程上下文類加載器

3.7 線程interrupt

3.8 線程join

香蕉小视频app3.9 如何關閉一個線程

3.10 本章總結

香蕉小视频app第4章 線程安全與數據同步

4.1 數據同步

香蕉小视频app4.2 初識synchronized關鍵字

4.3 深入synchronized關鍵字

4.4 This Monitor和Class Monitor的詳細介紹

香蕉小视频app4.5 程序死鎖的原因以及如何診斷

4.6 本章總結

第5章 線程間通信

香蕉小视频app5.1 同步阻塞與異步非阻塞

5.2 單線程間通信

5.3 多線程間通信

5.4 自定義顯式鎖BooleanLock

5.5 本章總結

第6章 ThreadGroup詳細講解

香蕉小视频app6.1 ThreadGroup與Thread

香蕉小视频app6.2 創建ThreadGroup

6.3 復制Thread數組和ThreadGroup數組

香蕉小视频app6.4 ThreadGroup操作

6.5 本章總結

第7章 Hook線程以及捕獲線程執行異常

7.1 獲取線程運行時異常

7.2 注入鉤子線程

7.3 本章總結

香蕉小视频app第8章 線程池原理以及自定義線程池

8.1 線程池原理

8.2 線程池實現

香蕉小视频app8.3 線程池的應用

8.4 本章總結

香蕉小视频app第二部分 Java ClassLoader

第9章 類的加載過程

9.1 類的加載過程簡介

9.2 類的主動使用和被動使用

香蕉小视频app9.3 類的加載過程詳解

9.4 本章總結

第10章 JVM類加載器

10.1 JVM內置三大類加載器

香蕉小视频app10.2 自定義類加載器

10.3 本章總結

第11章 線程上下文類加載器

香蕉小视频app11.1 為什么需要線程上下文類加載器

香蕉小视频app11.2 數據庫驅動的初始化源碼分析

11.3 本章總結

第三部分 深入理解volatile關鍵字

香蕉小视频app第12章 volatile關鍵字的介紹

香蕉小视频app12.1 初識volatile關鍵字

香蕉小视频app12.2 機器硬件CPU

12.3 Java內存模型

12.4 本章總結

第13章 深入volatile關鍵字

13.1 并發編程的三個重要特性

13.2 JMM如何保證三大特性

13.3 volatile關鍵字深入解析

13.4 本章總結

第14章 7種單例設計模式的設計

14.1 餓漢式

14.2 懶漢式

14.3 懶漢式+同步方法

香蕉小视频app14.4 Double-Check

14.5 Volatile+Double-Check

14.6 Holder方式

14.7 枚舉方式

14.8 本章總結

香蕉小视频app第四部分 多線程設計架構模式

第15章 監控任務的生命周期

15.1 場景描述

15.2 當觀察者模式遇到Thread

15.3 本章總結

香蕉小视频app第16章 Single Thread Execution設計模式

16.1 機場過安檢

16.2 吃面問題

16.3 本章總結

香蕉小视频app第17章 讀寫鎖分離設計模式

17.1 場景描述

香蕉小视频app17.2 讀寫分離程序設計

17.3 讀寫鎖的使用

17.4 本章總結

香蕉小视频app第18章 不可變對象設計模式

18.1 線程安全性

18.2 不可變對象的設計

18.3 本章總結

香蕉小视频app第19章 Future設計模式

19.1 先給你一張憑據

19.2 Future設計模式實現

19.3 Future的使用以及技巧總結

香蕉小视频app19.4 增強FutureService使其支持回調

19.5 本章總結

第20章 Guarded Suspension設計模式

20.1 什么是Guarded Suspension設計模式

20.2 Guarded Suspension的示例

20.3 本章總結

香蕉小视频app第21章 線程上下文設計模式

21.1 什么是上下文

香蕉小视频app21.2 線程上下文設計

香蕉小视频app21.3 ThreadLocal詳解

香蕉小视频app21.4 使用ThreadLocal設計線程上下文

21.5 本章總結

第22章 Balking設計模式

香蕉小视频app22.1 什么是Balking設計

香蕉小视频app22.2 Balking模式之文檔編輯

22.3 本章總結

香蕉小视频app第23章 Latch設計模式

香蕉小视频app23.1 什么是Latch

香蕉小视频app23.2 CountDownLatch程序實現

23.3 本章總結

第24章 Thread-Per-Message設計模式

24.1 什么是Thread-Per-Message模式

香蕉小视频app24.2 每個任務一個線程

24.3 多用戶的網絡聊天

24.4 本章總結

第25章 Two Phase Termination設計模式

25.1 什么是Two Phase Termination模式

25.2 Two Phase Termination的示例

25.3 知識擴展

25.4 本章總結

第26章 Worker-Thread設計模式

26.1 什么是Worker-Thread模式

香蕉小视频app26.2 Worker-Thread模式實現

26.3 本章總結

第27章 Active Objects設計模式

香蕉小视频app27.1 接受異步消息的主動對象

27.2 標準Active Objects模式設計

香蕉小视频app27.3 通用Active Objects框架設計

27.4 本章總結

香蕉小视频app第28章 Event Bus設計模式

香蕉小视频app28.1 Event Bus設計

香蕉小视频app28.2 Event Bus實戰——監控目錄變化

28.3 本章總結

香蕉小视频app第29章 Event Driven設計模式

香蕉小视频app29.1 Event-Driven Architecture基礎

香蕉小视频app29.2 開發一個Event-Driven框架

29.3 Event-Driven的使用

29.4 本章總結

Java高并發編程詳解 多線程與架構設計 精彩文摘

代碼清單1-1試圖讓聽音樂和看新聞兩個任務同時執行(在控制臺輸出表現為交替輸出),不過很可惜,程序的輸出永遠都是在看新聞,而聽音樂的任務永遠都得不到執行,TryConcurrency代碼的輸出如下:

香蕉小视频appUh-huh, the good news.

U-h-huh, the good news.

香蕉小视频appUhhuh, the good news.

……

如果想讓聽音樂和看新聞兩個事件并發執行,也就是在Console中看到它們彼此交替輸出,就必須借助Java提供的Thread這個class(關于Thread的用法和詳解,后文中會有詳細的講解)。

圖書網:Java高并發編程詳解 多線程與架構設計pdf

繼續閱讀
資源地址:用心發表評論,回復即可查看(字數限制至少10字以上)。
  • 我的微信
  • 掃一掃加好友
  • weinxin
  • 微信公眾號
  • 掃一掃關注
  • weinxin
機械測量技術pdf 機械儀表工業

機械測量技術pdf

機械測量技術 作者:趙賢民 機械測量技術 出版社:機械工業出版社 機械測量技術 內容簡介 《機械測量技術》是根據中職機械類、近機械類各專業使用各種工量具進行產品檢測的基本要求編寫而成的。《機械測量技術...
Spring Boot 開發實戰pdf 程序設計

Spring Boot 開發實戰pdf

適讀人群 :1.Web開發人員2.Java應用開發者 本書以案例方式,詳細介紹如何使用 Spring Boot 2.0 框架快速開發企業級應用,包含詳細步驟、示例代碼,所有代碼都可...
匿名

發表評論

匿名網友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: