多核心 CPU 加速程式 32倍 - 深入高平行開發深度原理及專案實戰
冰河
- 出版商: 深智-精選2書75折 滿1111再折111
- 出版日期: 2022-12-20
- 定價: $880
- 售價: 8.5 折 $748
- 語言: 繁體中文
- 頁數: 512
- ISBN: 6267146715
- ISBN-13: 9786267146712
-
相關分類:
專案管理 PM
- 此書翻譯自: 深入理解高並發編程:核心原理與案例實戰
立即出貨 (庫存 > 10)
買這商品的人也買了...
-
$580$458 -
$720$562 -
$880$748 -
$690$538 -
$1,000$850 -
$580$458 -
$580$458 -
$500$390 -
$520$411 -
$560$437 -
$780$616 -
$650$507 -
$630$498 -
$880$695 -
$580$458 -
$600$468 -
$780$616 -
$650$507 -
$600$450 -
$860$679 -
$520$406 -
$720$562 -
$600$474 -
$520$411 -
$1,280$960
相關主題
商品描述
☆★☆★【高平行開發的天花板!】★☆★☆
在深度原理與專案實戰內一探究竟!
高併發是高流量、高資料量服務線上系統架構必須具備的特性,如果想從微觀核心到併發應用,再到業務架構學習高併發的核心原理,以及高併發系統的工程架構最佳實踐,本書是中文書籍中最佳的範本。在細節部分,對核心排程、同步非同步、各類鎖的實現細節都有詳盡的敘述,另外在併發應用層面,對CAS問題、ABA問題、連接池實現,也有很完整的案例講解。在更高的架構層面上,對快取併發實戰、電子商務超賣問題、秒殺系統架構,更有清楚且應用上的說明,讓讀者能從CPU、作業系統、JVM底層原理為基礎,站在實踐的角度上全面了解高併發的基本原理及實用。在電腦多核心時代,併發程式設計是每個程式設計師都應掌握的技能,伺服器上的CPU核心在EPYC出後,成千上百個處理器同時為你工作,如果你寫出來的程式還無法執行多處理程序、多執行緒、多核心,小心真的成為時代的眼淚!
本書看點
✪了解作業系統中的執行緒排程架構
✪多核心CPU上設計Java平行程式
✪併發式程式的設計理念,分工、同步、互斥
✪核心原理說明,原子性、可見性、有序性
✪Synchronized、AQS、CAS、鎖、執行緒池、ThreadLocal的核心原理
✪手動開發執行緒池實戰案例
✪使用CAS開發自旋鎖實戰案例
✪使用讀/寫鎖實戰快取
✪使用AQS實現可重入鎖
✪開發分散式鎖架構
✪大型實戰一個秒殺系統的完整架構
作者簡介
冰河
互聯網資深技術專家、MySQL 技術專家、分散式與微服務架構專家。 多年來一直致力於分散式系統架構、微服務、分散式資料庫、分散式事務與大數據技術的研究,在高併發、高可用、高可擴充性、高可維護性和大數據等領域擁有豐富的架構經驗。 可視化多數據源數據異構中間件 mykit-data 作者,暢銷書《深入理解分散式事務:原理與實戰》《海量數據處理與大數據技術實戰》和《MySQL 技術大全:開發、優化與運維實戰》作者,“冰河技術”微信公眾號作者。
目錄大綱
第1篇 基礎知識
01 作業系統執行緒排程
1.1 馮· 諾依曼系統結構
1.2 CPU 架構
1.3 作業系統執行緒
1.4 Java 執行緒與作業系統執行緒的關係
1.5 本章複習
02 並行程式設計概述
2.1 並行程式設計的基本概念
2.2 並行程式設計的風險
2.3 並行程式設計中的鎖
2.4 本章複習
第2篇 核心原理
03 並行程式設計的三大核心問題
3.1 分工問題
3.2 同步問題
3.3 互斥問題
3.4 本章複習
04 並行程式設計的本質問題
4.1 電腦的核心矛盾
4.2 原子性
4.3 可見性
4.4 有序性
4.5 解決方案
4.6 本章複習
05 原子性的核心原理
5.1 原子性原理
5.2 處理器保證原子性
5.3 互斥鎖保證原子性
5.4 CAS 保證原子性
5.5 本章複習
06 可見性與有序性核心原理
6.1 CPU 多級快取架構
6.2 快取一致性
6.3 錯誤分享
6.4 volatile 核心原理
6.5 記憶體屏障
6.6 Java 記憶體模型
6.7 Happens-Before 原則
6.8 本章複習
07 synchronized 核心原理
7.1 synchronized 用法
7.2 Java 物件結構
7.3 Java 物件標頭
7.4 使用JOL 查看物件資訊
7.5 synchronized 核心原理
7.6 偏向鎖
7.7 輕量級鎖
7.8 重量級鎖
7.9 鎖升級的過程
7.10 鎖消除
7.11 本章複習
08 AQS 核心原理
8.1 AQS 核心資料結構
8.2 AQS 底層鎖的支援
8.3 本章複習
09 Lock 鎖核心原理
9.1 顯示鎖
9.2 公平鎖與非公平鎖
9.3 悲觀鎖與樂觀鎖
9.4 可中斷鎖與不可中斷鎖
9.5 排他鎖與共享鎖
9.6 可重入鎖
9.7 讀/ 寫鎖
9.8 LockSupport
9.9 本章複習
10 CAS 核心原理
10.1 CAS 的基本概念
10.2 CAS 的核心類別Unsafe
10.3 使用CAS 實現count++
10.4 ABA 問題
10.5 本章複習
11 鎖死的核心原理
11.1 鎖死的基本概念
11.2 鎖死的分析
11.3 形成鎖死的必要條件
11.4 鎖死的預防
11.5 本章複習
12 鎖最佳化
12.1 縮小鎖的範圍
12.2 減小鎖的細微性
12.3 鎖分離
12.4 鎖分段
12.5 鎖粗化
12.6 避免熱點區域問題
12.7 獨佔鎖的替換方案
12.8 其他最佳化方案
12.9 本章複習
13 執行緒池核心原理
13.1 執行緒池的核心狀態
13.2 執行緒池的建立方式
13.3 執行緒池執行任務的核心流程
13.4 執行緒池的關閉方式
13.5 如何確定最佳執行緒數
13.6 本章複習
14 ThreadLocal 核心原理
14.1 ThreadLocal 的基本概念
14.2 ThreadLocal 的使用案例
14.3 ThreadLocal 的核心原理
14.4 ThreadLocal 變數的不繼承性
14.5 InheritableThreadLocal 的使用案例
14.6 InheritableThreadLocal 的核心原理
14.7 本章複習
第3篇 實戰案例
15 手動開發執行緒池實戰
15.1 案例概述
15.2 專案架設
15.3 核心類別實現
15.4 測試程式
15.5 本章複習
16 基於CAS 實現自旋鎖實戰
16.1 案例概述
16.2 專案架設
16.3 核心類別實現
16.4 測試程式
16.5 本章複習
17 基於讀/ 寫鎖實現快取實戰
17.1 案例概述
17.2 專案架設
17.3 核心類別實現
17.4 測試程式
17.5 本章複習
18 基於AQS 實現可重入鎖實戰
18.1 案例概述
18.2 專案架設
18.3 核心類別實現
18.4 測試程式
18.5 本章複習
第4篇 系統架構
19 深度解密分散式鎖架構
19.1 鎖解決的本質問題
19.2 電子商務超賣問題
19.3 JVM 提供的鎖
19.4 分散式鎖
19.5 CAP 理論與分散式鎖模型
19.6 基於Redis 實現分散式鎖
19.7 本章複習
20 深度解密秒殺系統架構
20.1 電子商務系統架構
20.2 秒殺系統的特點
20.3 秒殺系統的方案
20.4 秒殺系統設計
20.5 扣減庫存設計
20.6 Redis 助力秒殺系統
20.7 伺服器性能最佳化
20.8 本章複習