中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >
JAVA并發編程的藝術 第2版

包郵 JAVA并發編程的藝術 第2版

出版社:機械工業出版社出版時間:2023-12-01
開本: 16開 頁數: 382
中 圖 價:¥70.9(6.5折) 定價  ¥109.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

JAVA并發編程的藝術 第2版 版權信息

JAVA并發編程的藝術 第2版 本書特色

(1)公認標準著作:第1版在廣大讀者和Java專家群體中均獲得了超高口碑,是Java并發編程領域公認的標準性著作。(2)暢銷書大升級:第1版2015年出版,累計銷售超過10萬冊,印刷23次,第2版全面更新,修訂內容超過30%。(3)作者背景資深:3位作者都是Java領域的資深開發專家和架構師,前2位是螞蟻集團和阿里巴巴的高級技術專家。(4)作者經驗豐富:作者在Java領域從事研發工作超過15年,本書總結了他們在阿里等頭部互聯網企業的并發編程經驗。(5)3個維度全面剖析:從JDK源碼、JVM、CPU等3個角度全面剖析與講解Java并發編程的框架、原理和核心技術。(6)不止Java并發編程:本書的主要內容是全面講解了Java并發編程,但同時也講解了分布式系統相關的知識。(7)14位領軍人物力薦:華為、阿里、騰訊、同程、Oracle、RedHat、ThoughtWorks等全球知名科技企業的14位Java領軍人物聯袂推薦。

JAVA并發編程的藝術 第2版 內容簡介

內容簡介 本書是Java并發編程領域公認的標準性著作,第1版自2015年出版以來,累計印刷23次,銷售超過10萬冊,所有渠道讀者評論超過40000條,口碑爆棚。 第2版在第1版的良好基礎上,與時具進,反映了Java技術的近期新發展;去蕪存菁:處理了廣大讀者反饋的問題;博采眾長:吸收了行業專家的寶貴建議;厚積薄發,融入了作者近8年在Java并發編程方面積累的新技術和新經驗。新增和修訂的內容超過50%,無論是理論、方法還是實踐,都有了大幅度的提升。 本書從并發編程的底層實現機制入手,圍繞JDK源碼、JVM、CPU等多角度詳細介紹了設計Java并發程序的框架、原理、核心技術、設計模式與應用,同時輔以豐富的示例代碼,使得開發人員能夠更快地領悟Java并發編程的要領,利用Java平臺的基礎并發功能快速地構建大規模的并發應用。本書具體包含如下核心內容: ?Java并發編程的基礎:線程。 ?Java并發編程的挑戰及其解決思路。 ?Java 并發編程的底層實現原理,在CPU和JVM層面如何實現并發編程。 ?Java 的內存模型。 ?Java 并發包中與鎖相關的API和組件,以及它們的使用方式與實現細節。 ?Java 中并發容器的實現原理,領略大師的設計技巧。 ?Java 中的原子操作類和并發工具類。 ?Java 中的線程池實現原理和使用建議。 ?Executor 框架的整體結構和成員組件。 ?并發編程的實戰案例,以及排查并發編程問題的方法。 ?分布式編程的原則、范式以及常見分布式協議。 ?分布式鎖以及如何在分布式環境下進行并發控制。 ?常見的分布式系統架構,以及多個場景的分布式架構方案。 此外,本書還是一本關于如何高效地進行分布式編程的實踐指南,提供了很多實用的分布式編程技巧和工具,讓讀者更好地應對分布式編程挑戰,掌握Java生態在分布式領域的新編程范式。

JAVA并發編程的藝術 第2版 目錄

Contents目  錄
贊 譽
前 言
第1章 Java并發編程基礎 1
1.1 線程簡介 1
1.1.1 什么是線程 1
1.1.2 為什么要使用多線程 2
1.1.3 線程優先級 3
1.1.4 線程的狀態 4
1.1.5 Daemon線程 8
1.2 啟動和終止線程 8
1.2.1 構造線程 9
1.2.2 啟動線程 9
1.2.3 理解中斷 9
1.2.4 過期的suspend()、resume()和
stop() 11
1.2.5 安全地終止線程 12
1.3 線程間通信 13
1.3.1 volatile和synchronized關鍵字 13
1.3.2 等待/通知機制 15
1.3.3 等待/通知的經典范式 18
1.3.4 管道輸入/輸出流 19
1.3.5 thread.join()的使用 20
1.3.6 ThreadLocal的使用 22
1.4 線程應用實例 23
1.4.1 等待超時模式 23
1.4.2 一個簡單的數據庫連接池示例 23
1.4.3 線程池技術及其示例 27
1.4.4 一個基于線程池技術的簡單
Web服務器 30
1.5 本章小結 34
第2章 并發編程的挑戰 35
2.1 上下文切換 35
2.1.1 多線程一定快嗎 35
2.1.2 測試上下文切換次數和時長 37
2.1.3 如何減少上下文切換 37
2.1.4 減少上下文切換實戰 38
2.2 死鎖 39
2.3 資源限制的挑戰 40
2.4 本章小結 41
第3章 Java并發機制的底層實現
原理 42
3.1 volatile的應用 42
3.2 synchronized的實現原理與應用 45
3.2.1 Java對象頭 46
3.2.2 鎖的升級與對比 47
3.3 原子操作的實現原理 50
3.4 本章小結 54
第4章 Java內存模型 55
4.1 Java內存模型基礎 55
4.1.1 并發編程模型的兩個關鍵
問題 55
4.1.2 Java內存模型的抽象結構 56
4.1.3 從源代碼到指令序列的重
排序 57
4.1.4 并發編程模型的分類 58
4.1.5 happens-before簡介 60
4.2 重排序 61
4.2.1 數據依賴性 62
4.2.2 as-if-serial語義 62
4.2.3 程序順序規則 63
4.2.4 重排序對多線程的影響 63
4.3 順序一致性 65
4.3.1 數據競爭與順序一致性 65
4.3.2 順序一致性內存模型 66
4.3.3 同步程序的順序一致性效果 68
4.3.4 未同步程序的執行特性 69
4.4 volatile的內存語義 71
4.4.1 volatile的特性 72
4.4.2 volatile寫-讀建立的
happens-before關系 73
4.4.3 volatile寫-讀的內存語義 74
4.4.4 volatile內存語義的實現 76
4.4.5 JSR-133為什么要增強volatile的
內存語義 80
4.5 鎖的內存語義 81
4.5.1 鎖的釋放-獲取建立的
happens-before關系 81
4.5.2 鎖的釋放和獲取的內存語義 81
4.5.3 鎖內存語義的實現 83
4.5.4 concurrent包的實現 87
4.6 f?inal域的內存語義 89
4.6.1 f?inal域的重排序規則 89
4.6.2 寫f?inal域的重排序規則 89
4.6.3 讀f?inal域的重排序規則 90
4.6.4 f?inal域為引用類型 92
4.6.5 為什么f?inal引用不能在構造
函數中“逸出” 93
4.6.6 f?inal語義在處理器中的實現 94
4.6.7 JSR-133為什么要增強f?inal的
語義 95
4.7 happens-before 95
4.7.1 JMM的設計 95
4.7.2 happens-before的定義 97
4.7.3 happens-before規則 98
4.8 雙重檢查鎖定與延遲初始化 100
4.8.1 雙重檢查鎖定的由來 100
4.8.2 問題的根源 102
4.8.3 基于volatile的解決方案 104
4.8.4 基于類初始化的解決方案 105
4.9 Java內存模型綜述 111
4.9.1 處理器的內存模型 111
4.9.2 各種內存模型之間的關系 112
4.9.3 JMM的內存可見性保證 114
4.9.4 JSR-133對舊內存模型的修補 115
4.10 JDK 9內存順序模型 115
4.10.1 背景 115
4.10.2 Plain 116
4.10.3 Opaque 116
4.10.4 Release/Acquire 117
4.10.5 volatile 118
4.10.6 總結 118
4.11 本章小結 119
第5章 Java中的鎖 120
5.1 Lock接口 120
5.2 隊列同步器 122
5.2.1 隊列同步器的接口與示例 122
5.2.2 隊列同步器的實現分析 125
5.3 重入鎖 136
5.4 讀寫鎖 141
5.4.1 讀寫鎖的接口與示例 141
5.4.2 讀寫鎖的實現分析 143
5.5 StampedLock 146
5.5.1 StampedLock的接口與示例 147
5.5.2 StampedLock的實現分析 152
5.6 LockSupport工具 160
5.7 Condition接口 161
5.7.1 Condition的接口與示例 162
5.7.2 Condition的實現分析 164
5.8 本章小結 168
第6章 Java并發容器和框架 169
6.1 ConcurrentHashMap的實現
原理與使用 169
6.1.1 為什么要使用
ConcurrentHashMap 169
6.1.2 ConcurrentHashMap的結構 170
6.1.3 ConcurrentHashMap的
初始化 171
6.1.4 定位Segment 173
6.1.5 ConcurrentHashMap的操作 174
6.1.6 JDK 8中的
ConcurrentHashMap 175
6.2 ConcurrentLinkedQueue 175
6.2.1 ConcurrentLinkedQueue的
結構 176
6.2.2 入隊列 176
6.2.3 出隊列 179
6.3 Java中的阻塞隊列 181
6.3.1 什么是阻塞隊列 181
6.3.2 7個阻塞隊列 182
6.3.3 阻塞隊列的實現原理 186
6.4 Fork/Join框架 189
6.4.1 什么是Fork/Join框架 189
6.4.2 工作竊取算法 190
6.4.3 Fork/Join框架的設計 190
6.4.4 使用Fork/Join框架 191
6.4.5 Fork/Join框架的異常處理 192
6.4.6 Fork/Join框架的實現原理 193
6.5 本章小結 194
第7章 Java中的13個原子操作類 195
7.1 原子更新基本類型 195
7.2 原子更新數組類型 197
7.3 原子更新引用類型 198
7.4 原子更新字段類型 199
7.5 JDK 8中的原子更新新特性 200
7.6 本章小結 201
第8章 Java中的并發工具類 202
8.1 等待多線程完成的
CountDownLatch 202
8.2 同步屏障CyclicBarrier 204
8.2.1 CyclicBarrier簡介 204
8.2.2 CyclicBarrier的應用場景 206
8.2.3 CyclicBarrier和
CountDownLatch的區別 208
8.3 控制并發線程數的Semaphore 209
8.4 線程間交換數據的Exchanger 210
8.5 本章小結 211
第9章 Java中的線程池 212
9.1 線程池的實現原理 212
9.2 線程池的使用 215
9.2.1 線程池的創建 215
9.2.2 向線程池提交任務 216
9.2.3 關閉線程池 217
9.2.4 合理地配置線程池 217
9.2.5 線程池的監控 218
9.3 本章小結 219
第10章 Executor框架 220
10.1 Executor框架簡介 220
10.1.1 Executor框架的兩級調度
模型 220
10.1.2 Executor框架的結構與成員 220
10.2 ThreadPoolExecutor詳解 225
10.2.1 FixedThreadPool詳解 225
10.2.2 SingleThreadExecutor
詳解 226
10.2.3 CachedThreadPool詳解 227
10.3 ScheduledThreadPoolExecutor
?詳解 229
10.3.1 ScheduledThreadPoolExecutor的
運行機制 229
10.3.2 ScheduledThreadPoolExecutor的
實現 230
10.4 FutureTask詳解 233
10.4.1 FutureTask簡介 233
10.4.2 FutureTask的使用 235
10.4.3 JDK 6的FutureTask實現 236
10.4.4 JDK 8的FutureTask實現 238
10.5 本章小結 243
第11章 Java并發編程實踐 244
11.1 生產者和消費者模式 244
11.1.1 生產者和消費者模式實戰 245
11.1.2 多生產者和多消費者場景 247
11.1.3 線程池與生產者和消費者
模式 250
11.2 線上問題定位 250
11.3 性能測試 252
11.4 異步任務池 254
11.5 本章小結 256
第12章 分布式編程基礎 257
12.1 分布式CAP原則 257
12.1.1 CAP原則簡介 257
12.1.2 CAP原則證明 258
12.1.3 CAP原則思考 260
12.2 分布式事務:兩階段提交 262
12.2.1 分布式事務面臨的挑戰 262
12.2.2 拜占庭將軍問題 263
12.2.3 兩階段提交協議 264
12.2.4 對兩階段提交的思考 265
12.3 分布式事務:TCC 266
12.3.1 TCC的主要優勢 267
12.3.2 TCC的使用代價 269
12.3.3 支持TCC的Seata 270
12.3.4 一個基于Seata的參考
示例 273
12.4 分布式協議:RAFT 279
12.4.1 RAFT的運行流程 279
12.4.2 集群中斷和恢復 280
12.5 分布式協議:Paxos 282
12.5.1 背景 282
12.5.2 Basic Paxos 285
12.5.3 Multi-Paxos 301
12.6 本章小結 306
第13章 分布式鎖 308
13.1 什么是分布式鎖 308
13.1.1 分布式鎖的定義 308
13.1.2 使用分布式鎖的原因 309
13.1.3 分布式鎖的分類 309
13.2 實現分布式鎖會遇到的問題 310
13.2.1 性能問題 311
13.2.2 正確性問題 313
13.2.3 可用性問題 313
13.2.4 成本問題 315
13.3 分布式鎖框架 316
13.3.1 為什么需要分布式鎖框架 317
13.3.2 分布式鎖框架的組成 317
13.3.3 實現:基于Redis的
分布式鎖 321
13.3.4 擴展:分布式鎖訪問日志 325
13.4 拉模式的分布式鎖 327
13.4.1 什么是拉模式 327
13.4.2 拉模式需要注意的問題 329
13.4.3 Redis分布式鎖實現 330<
展開全部

JAVA并發編程的藝術 第2版 作者簡介

方騰飛
(花名:清英;英文名:kiral)
螞蟻集團高級技術專家,目前在信貸事業群負責花唄分期技術。15年以上Java研發經驗,擁有8年以上團隊管理經驗,9年互聯網金融研發經驗,先后負責過小微融資、供應鏈金融和消費信貸等技術研發項目。利用業余時間創辦了并發編程網(ifeve.com)和微信公眾號ifeves,組織發表并翻譯了數百篇優秀技術文章。
魏鵬
阿里巴巴集團原高級技術專家,曾擔任新零售業務和中間件架構師,主導交易系統服務化工作。從事(后負責)Java應用容器Pandora和服務框架HSF的相關工作,其中Java應用容器Pandora是阿里巴巴中間件運行的基礎,而服務框架HSF則是阿里巴巴集團實現服務化的主要解決方案,二者在阿里巴巴擁有最為廣泛的使用量。個人平時喜歡閱讀技術書籍,翻譯一些國外優秀文檔,愛總結,喜分享,對Java應用容器、多線程編程、微服務架構以及分布式系統感興趣。
程曉明方騰飛
(花名:清英;英文名:kiral)
螞蟻集團高級技術專家,目前在信貸事業群負責花唄分期技術。15年以上Java研發經驗,擁有8年以上團隊管理經驗,9年互聯網金融研發經驗,先后負責過小微融資、供應鏈金融和消費信貸等技術研發項目。利用業余時間創辦了并發編程網(ifeve.com)和微信公眾號ifeves,組織發表并翻譯了數百篇優秀技術文章。
魏鵬
阿里巴巴集團原高級技術專家,曾擔任新零售業務和中間件架構師,主導交易系統服務化工作。從事(后負責)Java應用容器Pandora和服務框架HSF的相關工作,其中Java應用容器Pandora是阿里巴巴中間件運行的基礎,而服務框架HSF則是阿里巴巴集團實現服務化的主要解決方案,二者在阿里巴巴擁有最為廣泛的使用量。個人平時喜歡閱讀技術書籍,翻譯一些國外優秀文檔,愛總結,喜分享,對Java應用容器、多線程編程、微服務架構以及分布式系統感興趣。
程曉明
互聯網公司資深架構師,目前從事大數據和基礎架構方面的架構和開發工作。曾經從事過互聯網電商的自研消息中間件開發,互聯網電商的交易平臺開發,JavaEE應用服務器開發等工作。技術方面比較關注并發編程與分布式系統,曾在InfoQ發表過《深入理解Java內存模型》系列技術文章。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 洁净化验室净化工程_成都实验室装修设计施工_四川华锐净化公司 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 防爆暖风机_防爆电暖器_防爆电暖风机_防爆电热油汀_南阳市中通智能科技集团有限公司 | 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 寮步纸箱厂_东莞纸箱厂 _东莞纸箱加工厂-东莞市寮步恒辉纸制品厂 | 粘度计维修,在线粘度计,二手博勒飞粘度计维修|收购-天津市祥睿科技有限公司 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 氧化锆陶瓷_氧化锆陶瓷加工_氧化锆陶瓷生产厂家-康柏工业陶瓷有限公司 | 双工位钻铣攻牙机-转换工作台钻攻中心-钻铣攻牙机一体机-浙江利硕自动化设备有限公司 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 包装盒厂家_纸盒印刷_礼品盒定制-济南恒印包装有限公司 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 氢氧化钙设备, 氢氧化钙生产线-淄博惠琛工贸有限公司 | 合肥卓创建筑装饰,专业办公室装饰、商业空间装修与设计。 | 闪蒸干燥机-喷雾干燥机-带式干燥机-桨叶干燥机-[常州佳一干燥设备] | 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | 快速门厂家-快速卷帘门-工业快速门-硬质快速门-西朗门业 | 高考志愿规划师_高考规划师_高考培训师_高报师_升学规划师_高考志愿规划师培训认证机构「向阳生涯」 | 挤奶设备过滤纸,牛奶过滤纸,挤奶机过滤袋-济南蓝贝尔工贸有限公司 | 自清洗过滤器,浅层砂过滤器,叠片过滤器厂家-新乡市宇清净化 | 流程管理|流程管理软件|企业流程管理|微宏科技-AlphaFlow_流程管理系统软件服务商 | EPK超声波测厚仪,德国EPK测厚仪维修-上海树信仪器仪表有限公司 | 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | 酒店厨房设计_中央厨房设计_北京商用厨房设计公司-奇能商厨 | 大白菜官网,大白菜winpe,大白菜U盘装系统, u盘启动盘制作工具 | 智慧钢琴-电钢琴-便携钢琴-数码钢琴-深圳市特伦斯乐器有限公司 | 国产频谱分析仪-国产网络分析仪-上海坚融实业有限公司 | 仿真植物|仿真树|仿真花|假树|植物墙 - 广州天昆仿真植物有限公司 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 中红外QCL激光器-其他连续-半导体连续激光器-筱晓光子 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | 一航网络-软件测评官网 | 警方提醒:赣州约炮论坛真的安全吗?2025年新手必看的网络交友防坑指南 | 电动液压篮球架_圆管地埋式篮球架_移动平箱篮球架-强森体育 |