發表於2024-11-27
書[0名0]: | Java並發編程的藝術|4730532 |
圖書定價: | 59元 |
圖書作者: | 方騰飛;魏鵬;程曉明 |
齣版社: | [1機1] 械工業齣版社 |
齣版日期: | 2015/7/1 0:00:00 |
ISBN號: | 9787111508243 |
開本: | 16開 |
頁數: | 0 |
版次: | 1-1 |
作者簡介 |
方騰飛(花[0名0]清英,英文[0名0]Kiral)螞蟻金服團技術專傢,從事Java開發近10年。 5年以上的團隊管理、項目管理和敏捷開發經驗,崇尚團隊閤作。曾參與CMS、電子海圖、SOC、ITIL、電子[0商0]務網站和信貸管理係統等項目。目前在螞蟻金服網[0商0]銀行貸款管理團隊負責數據采集平颱開發工作。與同事閤作開發瞭tala code Review插件,深受阿裏數韆[0名0]工程師擁躉,並開發過開源工具jdbcutil (https://github.com/kiral/utils)。創辦瞭並發編程網(http://ifeve.com),組織翻譯瞭百餘篇[0國0]外[0優0]秀技術文章,並曾為InfoQ撰寫“聊聊並發”專欄,在《程序員》雜誌撰寫敏捷實踐係列文章,曾用博客http://kiral.javaeye.com。魏鵬阿裏巴巴集團技術專傢,在阿裏巴巴中[0國0]網站技術部工作多年,曾擔任中[0國0]網站交易平颱架構師,主導瞭交易係統服務化工作,設計實現的數據遷移係統高效地完成瞭阿裏巴巴中[0國0]網站交易數據到阿裏巴巴集團的遷移工作。目前在阿裏巴巴共享業務事業部從事Java應用容器Pandora和服務框架HSF的相關工作,其中Java應用容器Pandora是阿裏巴巴中間件運行的基礎,而服務框架HSF則是阿裏巴巴集團實現服務化的主要解決方案,二者在阿裏巴巴擁有為廣泛的使用量。個人平時喜歡閱讀技術書籍,翻譯一些[0國0]外[0優0]秀文檔,喜歡總結、樂於分享,對Java應用容器、多綫程編程以及分布式係統感興趣。程曉明1號店資深架構師,從事1號店交易平颱係統的開發,技術上關注並發與NIO。因5年前遇到的一個綫上故障,解決過程中對Java並發編程産生瞭濃厚的興趣,從此開始瞭漫長的探索之旅:從底層實現 [1機1] 製、內存模型到Java同步.縱觀我自己對Java並發的[0學0]習過程,是一個從高層到底層再到高層的一個反復迭代的過程,我估計很多讀者的[0學0]習過程應該與我類似。文章多見諸《IBM deveIOperWorks》、InfOQ和《程序員》雜誌。 |
內容簡介 |
並發編程[0領0]域的扛鼎之作,作者是阿裏和1號店的資深Java技術專傢,對並發編程有非常深入的研究,本書是他們多年一綫開發經驗的結晶。本書的部分內容在齣版早期發錶在Java並發編程網和帥foQ等技術社區,得到瞭非常高的[0評0]價。它選取瞭Java並發編程中核心的技術進行講解,從JDK源碼、JVM、CPU等多角度全麵剖析和講解瞭Java並發編程的框架、工具、原理和方[0法0],對Java並發編程進行瞭為深入和透徹的闡述。 內容涵蓋Java並發編程 [1機1] 製的底層實現原理、Java內存模型、Java並發編程基礎、Java中的鎖、並發容器和框架、原子類、並發工具類、綫程池、Executor框架等主題,每個主題都做瞭深入的講解,同時通過實例介紹瞭如何應用這些技術。 |
目錄 |
前 言 [0第0]1章 並發編程的挑戰 1 1.1 上下文切換 1 1.1.1 多綫程一定快嗎 1 1.1.2 測試上下文切換次數和時長 3 1.1.3 如何減少上下文切換 3 1.1.4 減少上下文切換實戰 4 1.2 死鎖 5 1.3 資源限製的挑戰 6 1.4 本章小結 7 [0第0]2章 Java並發 [1機1] 製的底層實現原理 8 2.1 volatile的應用 8 2.2 synchronized的實現原理與應用 11 2.2.1 Java對象頭 12 2.2.2 鎖的升級與對比 13 2.3 原子操作的實現原理 16 2.4 本章小結 20 [0第0]3章 Java內存模型 21 3.1 Java內存模型的基礎 21 3.1.1 並發編程模型的兩個關鍵問題 21 3.1.2 Java內存模型的抽象結構 22 3.1.3 從源代碼到指令序列的重排序 23 3.1.4 並發編程模型的分類 24 3.1.5 happens-before簡介 26 3.2 重排序 27 3.2.1 數據依賴性 28 3.2.2 as-if-serial語義 28 3.2.3 程序順序規則 29 3.2.4 重排序對多綫程的影響 29 3.3 順序一緻性 31 3.3.1 數據競爭與順序一緻性 31 3.3.2 順序一緻性內存模型 32 3.3.3 同步程序的順序一緻性效果 34 3.3.4 未同步程序的執行特性 35 3.4 volatile的內存語義 38 3.4.1 volatile的特性 38 3.4.2 volatile寫-讀建立的happens-before關係 39 3.4.3 volatile寫-讀的內存語義 40 3.4.4 volatile內存語義的實現 42 3.4.5 JSR-133為什麼要增強volatile的內存語義 46 3.5 鎖的內存語義 47 3.5.1 鎖的釋放-獲取建立的 happens-before關係 47 3.5.2 鎖的釋放和獲取的內存語義 48 3.5.3 鎖內存語義的實現 50 3.5.4 concurrent包的實現 54 3.6 final域的內存語義 55 3.6.1 final域的重排序規則 55 3.6.2 寫final域的重排序規則 56 3.6.3 讀final域的重排序規則 57 3.6.4 final域為引用類型 58 3.6.5 為什麼final引用不能從構造函數內“溢齣” 59 3.6.6 final語義在處理器中的實現 61 3.6.7 JSR-133為什麼要增強final的語義 62 3.7 happens-before 62 3.7.1 JMM的設計 62 3.7.2 happens-before的定義 64 3.7.3 happens-before規則 65 3.8 [0[0雙0]0]重檢查鎖定與延遲初始化 67 3.8.1 [0[0雙0]0]重檢查鎖定的由來 67 3.8.2 問題的根源 69 3.8.3 基於volatile的解決方案 71 3.8.4 基於類初始化的解決方案 72 3.9 Java內存模型綜述 78 3.9.1 處理器的內存模型 78 3.9.2 各種內存模型之間的關係 80 3.9.3 JMM的內存可見性保證 80 3.9.4 JSR-133對舊內存模型的修補 81 3.10 本章小結 82 [0第0]4章 Java並發編程基礎 83 4.1 綫程簡介 83 4.1.1 什麼是綫程 83 4.1.2 為什麼要使用多綫程 84 4.1.3 綫程[0優0]先級 85 4.1.4 綫程的狀態 87 4.1.5 Daemon綫程 90 4.2 啓動和終止綫程 91 4.2.1 構造綫程 91 4.2.2 啓動綫程 92 4.2.3 理解中斷 92 4.2.4 過期的suspend()、resume()和stop() 93 4.2.5 安全地終止綫程 95 4.3 綫程間通信 96 4.3.1 volatile和synchronized關鍵字 96 4.3.2 等待/通[0知0] [1機1] 製 98 4.3.3 等待/通[0知0]的經典範式 101 4.3.4 管道輸入/輸齣流 102 4.3.5 Thread.join()的使用 103 4.3.6 ThreadLocal的使用 105 4.4 綫程應用實例 106 4.4.1 等待[0超0]時模式 106 4.4.2 一個簡單的數據庫連接池示例 106 4.4.3 綫程池技術及其示例 110 4.4.4 一個基於綫程池技術的簡單Web服務器 114 4.5 本章小結 118 [0第0]5章 Java中的鎖 119 5.1 Lock接口 119 5.2 隊列同步器 121 5.2.1 隊列同步器的接口與示例 121 5.2.2 隊列同步器的實現分析 124 5.3 重入鎖 136 5.4 讀寫鎖 140 5.4.1 讀寫鎖的接口與示例 141 5.4.2 讀寫鎖的實現分析 142 5.5 LockSupport工具 146 5.6 Condition接口 147 5.6.1 Condition接口與示例 148 5.6.2 Condition的實現分析 150 5.7 本章小結 154 [0第0]6章 Java並發容器和框架 155 6.1 ConcurrentHashMap的實現原理與使用 155 6.1.1 為什麼要使用ConcurrentHashMap 155 6.1.2 ConcurrentHashMap的結構 156 6.1.3 ConcurrentHashMap的初始化 157 6.1.4 定位Segment 159 6.1.5 ConcurrentHashMap的操作 160 6.2 ConcurrentLinkedQueue 161 6.2.1 ConcurrentLinkedQueue的結構 162 6.2.2 入隊列 162 6.2.3 齣隊列 165 6.3 Java中的阻塞隊列 167 6.3.1 什麼是阻塞隊列 167 6.3.2 Java裏的阻塞隊列 168 6.3.3 阻塞隊列的實現原理 172 6.4 Fork/Join框架 175 6.4.1 什麼是Fork/Join框架 175 6.4.2 工作竊取算[0法0] 176 6.4.3 Fork/Join框架的設計 177 6.4.4 使用Fork/Join框架 177 6.4.5 Fork/Join框架的異常處理 179 6.4.6 Fork/Join框架的實現原理 179 6.5 本章小結 181 [0第0]7章 Java中的13個原子操作類 182 7.1 原子更[親斤]基本類型類 182 7.2 原子更[親斤]數組 184 7.3 原子更[親斤]引用類型 185 7.4 原子更[親斤]字段類 187 7.5 本章小結 188 [0第0]8章 Java中的並發工具類 189 8.1 等待多綫程完成的CountDownLatch 189 8.2 同步屏障CyclicBarrier 191 8.2.1 CyclicBarrier簡介 191 8.2.2 CyclicBarrier的應用場景 193 8.2.3 CyclicBarrier和CountDownLatch的區彆 195 8.3 控製並發綫程數的Semaphore 196 8.4 綫程間交換數據的Exchanger 198 8.5 本章小結 199 [0第0]9章 Java中的綫程池 200 9.1 綫程池的實現原理 200 9.2 綫程池的使用 203 9.2.1 綫程池的創建 203 9.2.2 嚮綫程池提交任務 205 9.2.3 關閉綫程池 205 9.2.4 閤理地配置綫程池 206 9.2.5 綫程池的監控 206 9.3 本章小結 207 [0第0]10章 Executor框架 208 10.1 Executor框架簡介 208 10.1.1 Executor框架的兩級調度模型 208 10.1.2 Executor框架的結構與成員 208 10.2 ThreadPoolExecutor詳解 213 10.2.1 FixedThreadPool詳解 213 10.2.2 SingleThreadExecutor詳解 214 10.2.3 CachedThreadPool詳解 215 10.3 ScheduledThreadPoolExecutor詳解 217 10.3.1 ScheduledThreadPoolExecutor的運行 [1機1] 製 217 10.3.2 ScheduledThreadPoolExecutor的實現 218 10.4 FutureTask詳解 221 10.4.1 FutureTask簡介 222 10.4.2 FutureTask的使用 222 10.4.3 FutureTask的實現 224 10.5 本章小結 227 [0第0]11章 Java並發編程實踐 228 11.1 生産者和消費者模式 228 11.1.1 生産者消費者模式實戰 229 11.1.2 多生産者和多消費者場景 231 11.1.3 綫程池與生産消費者模式 234 11.2 綫上問題定位 234 11.3 性能測試 236 11.4 異步任務池 238 包郵 Java並發編程的藝術|4730532 下載 mobi epub pdf txt 電子書 格式 包郵 Java並發編程的藝術|4730532 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024包郵 Java並發編程的藝術|4730532 下載 mobi pdf epub txt 電子書 格式 2024 包郵 Java並發編程的藝術|4730532 下載 mobi epub pdf 電子書用戶評價
評分
評分 評分 評分 評分 評分 評分 評分 評分
類似圖書 點擊查看全場最低價
包郵 Java並發編程的藝術|4730532 mobi epub pdf txt 電子書 格式下載 2024 分享鏈接相關圖書
|