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

歡迎光臨中圖網 請 | 注冊
> >>
深入理解Java高并發編程

包郵 深入理解Java高并發編程

作者:黃俊
出版社:清華大學出版社出版時間:2021-11-01
開本: 16開 頁數: 636
中 圖 價:¥87.3(5.9折) 定價  ¥148.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

深入理解Java高并發編程 版權信息

深入理解Java高并發編程 本書特色

Java多線程并發編程是Java領域較難理解和較難掌握的知識,同時也是IT業務領域較為重要的知識之一;在編程開發中應用廣泛,同時也是Java編程中難度較高、對源碼分析要求較高的部分。 《深入理解Java高并發編程》內容分為上下兩篇,共10章。上篇講解基礎知識,涉及從計算機硬件到軟件的一系列內容;下篇深入研究Java虛擬機,討論并發編程知識。本書并沒有介紹Java語言層面的一些基礎知識,所以閱讀本書需要讀者理解掌握Java SE的內容。對此,讀者可以選擇《Java從入門到精通》進行學習。 筆者專注于研究Java語言,對Linux內核、JVM有著精深的研究,曾在多家大型互聯網公司任職,具有豐富的實戰經驗。并且多年擔任Java教學工作,講解知識清晰明了、深入淺出。 筆者在“文泉云盤”中為廣大讀者朋友準備了微課視頻,供大家參考學習。另外,讀者可掃描前言中的“技術支持”二維碼,觀看作者分享的講解視頻,和作者進行溝通,共同學習,一起成長。 修煉高并發內功,面試求職常備。計算機、系統、軟件多層次講透CPU并發、內核并發、Java并發、線程池、JVM原理!禞ava從入門到精通》進階篇,馬士兵教育傾心打造。

深入理解Java高并發編程 內容簡介

《深入理解Java高并發編程》致力于介紹Java高并發編程方面的知識。由于多線程處理涉及的知識內容十分豐富,因此介紹時必須從Java層面的講解一直深入到底層的知識講解。為了幫助讀者輕松閱讀本書并掌握其中知識,本書做了大量基礎知識的鋪墊。在第1篇基礎知識儲備中,主要介紹計算機原理、并發基礎、常見語言的線程實現、Java并發入門、JUC之Java線程池、JUC之同步結構、Java NIO詳解等內容。在第2篇深入Java并發原理中,詳細介紹了JUC包中所有使用的原子類的原理與源碼實現;非常關鍵且容易出錯的volatile關鍵字的原理,從Java、JVM、C、匯編、CPU層面對其進行詳細講解;synchronized在JVM中獲取鎖和釋放鎖的流程;JUC包的核心結構——AQS的原理與源碼實現,通過逐方法、逐行的解釋,幫助讀者徹底掌握AQS中提供的獲取鎖、釋放鎖、條件變量等操作的實現與原理。*后,詳細介紹了JVM中JNI的實現原理,將Java Thread對象中的所有方法在JVM層面的實現流程進行了詳細描述,以幫助讀者在使用這些方法時,知道底層發生了什么,以及發生異常時如何從容解決問題。

深入理解Java高并發編程 目錄

第1篇 基礎知識儲備

第1章 計算機原理 2

1.1 匯編語言基礎 2

1.1.1 匯編語言與機器語言 2

1.1.2 常見的寄存器 3

1.1.3 常見操作語句 6

1.1.4 內聯匯編 6

1.1.5 常見助記符 9

1.2 C語言基礎 12

1.2.1 基本數據類型 12

1.2.2 結構體原理 13

1.2.3 指針原理 19

1.2.4 指針與數組原理 21

1.3 計算機組成原理基礎 23

1.3.1 intel的發展歷史 23

1.3.2 計算機程序的組成 29

1.3.3 計算機的內存管理與內存地址原理 36

1.3.4 計算機程序的執行原理 44

1.4 OS概述 52

1.4.1 OS的發展歷程和分類 53

1.4.2 常用的OS系統 56

1.5 小結 57

第2章 并發基礎 58

2.1 并發與并行原理 58

2.1.1 并發 58

2.1.2 并行 59

2.1.3 并發與并行帶來的問題 59

2.2 傳統OS并發控制原理 60

2.2.1 P-V原語 60

2.2.2 信號量 61

2.2.3 互斥量 62

2.2.4 自旋鎖 62

2.2.5 讀寫鎖 63

2.2.6 死鎖 64

2.3 CPU并發控制原理 66

2.3.1 中斷控制 66

2.3.2 緩存一致性協議 67

2.3.3 系統屏障 69

2.3.4 總線/緩存鎖 73

2.4 Linux內核并發控制原理 73

2.4.1 Linux內核信號量與P-V原語實現原理 74

2.4.2 Linux內核互斥量實現原理 80

2.4.3 Linux內核自旋鎖實現原理 80

2.4.4 Linux內核讀寫鎖實現原理 84

2.4.5 Linux內核中斷控制與內核搶占原理 91

2.4.6 Linux內核seq鎖實現原理 98

2.4.7 Linux內核rcu鎖實現原理 100

2.5 Glibc和Pthread庫原理 105

2.5.1 C標準、CRT與Glibc 105

2.5.2 LinuxThread與POSIX、NGTP、NPTL 107

2.5.3 NPTL常用函數與實現原理 108

2.6 小結 131

第3章 常見語言的線程實現 132

3.1 匯編語言多線程實現 132

3.2 C語言多線程實現 133

3.3 Go語言多線程實現 134

3.4 Python語言多線程實現 135

3.5 Java語言多線程實現 135

3.6 不同語言并發異同與知識推理 136

3.7 小結 136

第4章 Java并發入門 137

4.1 Java Thread類核心原理與方法 137

4.1.1 走進Thread 138

4.1.2 run方法 139

4.1.3 start方法 139

4.1.4 stop方法 140

4.1.5 destory方法 140

4.1.6 interrupt方法 141

4.1.7 sleep方法 142

4.1.8 join方法 142

4.1.9 Thread方法使用與線程狀態轉換 143

4.2 Runnable與Callable的使用 144

4.3 Future接口的使用 146

4.4 Promise接口的使用 147

4.5 volatile關鍵字的使用 147

4.6 synchronized關鍵字的使用 148

4.7 小結 149

第5章 JUC之Java線程池 150

5.1 Executor與ExecutorService詳解 150

5.1.1 Executor接口原理 150

5.1.2 ExecutorService接口原理 151

5.2 ThreadPoolExecutor詳解 156

5.2.1 ThreadPoolExecutor例子 156

5.2.2 ThreadPoolExecutor核心數據結構 156

5.2.3 execute方法的實現原理 159

5.2.4 shutdown方法實現原理 164

5.2.5 awaitTermination方法的實現原理 166

5.2.6 shutdownNow方法的實現原理 167

5.3 ScheduledThreadPoolExecutor詳解 168

5.3.1 ScheduledThreadPoolExecutor例子 169

5.3.2 ScheduledExecutorService接口 170

5.3.3 ScheduledThreadPoolExecutor核心變量 170

5.3.4 scheduleAtFixedRate實現與原理 172

5.3.5 ScheduledFutureTask實現與原理 176

5.3.6 scheduleWithFixedDelay實現與原理 177

5.3.7 shutdown實現與原理 178

5.4 構建不同線程池 179

5.4.1 FixedThreadPool 179

5.4.2 SingleThreadExecutor 179

5.4.3 CachedThreadPool 180

5.4.4 SingleThreadScheduledExecutor 180

5.4.5 ScheduledThreadPool 181

5.5 ForkJoinPool詳解 181

5.5.1 ForkJoinPool核心數據結構與方法 181

5.5.2 ForkJoinPool externalPush實現原理 185

5.5.3 ForkJoinPool externalSubmit實現原理 185

5.5.4 ForkJoinPool signalWork實現原理 187

5.5.5 ForkJoinPool tryAddWorker實現原理 188

5.5.6 ForkJoinPool createWorker實現原理 189

5.5.7 ForkJoinPool registerWorker實現原理 189

5.5.8 ForkJoinPool ForkJoinWorkerThread執行原理 190

5.5.9 ForkJoinPool scan竊取算法原理 191

5.5.10 ForkJoinPool runTask原理 194

5.5.11 ForkJoinPool awaitWork原理 196

5.5.12 ForkJoinPool切割子任務 197

5.5.13 ForkJoinTask doExec原理 198

5.5.14 ForkJoinTask fork原理 202

5.5.15 ForkJoinTask join原理 202

5.5.16 ForkJoinPool awaitJoin原理 204

5.5.17 ForkJoinPool tryRemoveAndExec原理 205

5.5.18 ForkJoinPool helpStealer原理 207

5.5.19 ForkJoinPool tryCompensate原理 209

5.5.20 ForkJoinPool shutdown原理 211

5.5.21 ForkJoinPool awaitTermination原理 214

5.5.22 ForkJoinPool總結 215

5.5.23 RecursiveAction原理 216

5.5.24 RecursiveTask原理 217

5.5.25 CountedCompleter原理 218

5.6 CompletableFuture詳解 234

5.6.1 CompletableFuture 概念與例子 234

5.6.2 CompletableFuture CompletionStage接口 235

5.6.3 CompletableFuture runAsync原理 237

5.6.4 CompletableFuture postComplete原理 238

5.6.5 CompletableFuture Completion原理 239

5.6.6 CompletableFuture allOf原理 246

5.7 小結 253

第6章 JUC之同步結構 254

6.1 同步結構基礎實現原理 254

6.1.1 Lock接口 254

6.1.2 Condition接口 255

6.1.3 LockSupport類 255

6.1.4 AQS類 256

6.1.5 隊列核心接口 259

6.2 ReentrantLock實現與原理 262

6.3 ReentrantReadWriteLock實現與原理 264

6.4 Semapher實現與原理 271

6.5 FutureTask實現與原理 273

6.6 ArrayBlockingQueue實現與原理 278

6.7 LinkedBlockingQueue實現與原理 281

6.8 LinkedBlockingDeque實現與原理 284

6.9 LinkedTransferQueue實現與原理 288

6.10 SynchronousQueue實現與原理 295

6.11 PriorityBlockingQueue實現與原理 305

6.12 ConcurrentLinkedQueue實現與原理 310

6.13 ConcurrentLinkedDeque實現與原理 315

6.14 ThreadLocalRandom實現與原理 326

6.15 CopyOnWriteArrayList實現與原理 329

6.16 CopyOnWriteArraySet實現與原理 331

6.17 CountDownLatch實現與原理 333

6.18 CyclicBarrier實現與原理 335

6.19 ConcurrentHashMap實現與原理 338

6.20 ConcurrentSkipListMap實現與原理 354

6.21 ConcurrentSkipListSet實現與原理 363

6.22 Exchanger實現與原理 364

6.23 Phaser實現與原理 372

6.24 小結 380

第7章 Java NIO詳解 382

7.1 NIO三劍客之Buffer原理 382

7.1.1 Buffer 383

7.1.2 ByteBuffer 385

7.1.3 HeapByteBuffer 394

7.1.4 MappedByteBuffer 396

7.1.5 DirectByteBuffer 398

7.2 NIO三劍客之Channel原理 403

7.2.1 Channel 403

7.2.2 FileChannel 404

7.2.3 SocketChannel 408

7.2.4 ServerSocketChannel 412

7.2.5 DatagramChannel 415

7.3 NIO三劍客之Selector原理 420

7.3.1 Selector 420

7.3.2 SelectionKey 423

7.4 小結 431

第2篇 深入Java并發原理

第8章 JVM synchronized與volatile原理詳解 434

8.1 JVM源碼分析之Unsafe類 434

8.1.1 compareAndSwap類方法實現原理 435

8.1.2 getIntVolatile方法實現原理 435

8.1.3 putIntVolatile方法實現原理 435

8.1.4 putOrderedInt方法實現原理 436

8.1.5 park方法實現原理 437

8.1.6 loadFence方法實現原理 438

8.1.7 storeFence方法實現原理 438

8.1.8 fullFence方法 438

8.2 JVM源碼分析之原子類 439

8.2.1 AtomicInteger實現與原理 439

8.2.2 AtomicBoolean實現與原理 440

8.2.3 AtomicIntegerArray實現與原理 441

8.2.4 AtomicIntegerFieldUpdater實現與原理 443

8.2.5 AtomicLong實現與原理 445

8.2.6 AtomicLongArray實現與原理 446

8.2.7 AtomicLongFieldUpdater實現與原理 447

8.2.8 AtomicMarkableReference實現與原理 450

8.2.9 AtomicStampedReference實現與原理 451

8.2.10 AtomicReference實現與原理 454

8.2.11 AtomicReferenceArray實現與原理 454

8.2.12 AtomicReferenceFieldUpdater實現與原理 455

8.2.13 DoubleAccumulator實現與原理 457

8.2.14 DoubleAdder實現與原理 465

8.2.15 LongAccumulator實現與原理 466

8.2.16 LongAdder實現與原理 467

8.3 volatile原理分析 469

8.3.1 JVM內存模型 469

8.3.2 Java中happens-before原則 469

8.3.3 Java中Volatile語義 470

8.3.4 Java中Volatile字節碼原理 472

8.3.5 JVM中putstatic和getstatic字節碼原理 473

8.3.6 C/C++中的volatile原理 475

8.3.7 JVM中volatile對于禁止重排序的實現原理 477

8.3.8 從Pthread線程庫分析C的volatile語義 480

8.3.9 JMM和CPU模型原理 484

8.4 synchronized源碼分析 488

8.4.1 Java對象頭原理 488

8.4.2 _monitorenter 獲取鎖過程原理 490

8.4.3 _monitorexit 釋放鎖過程原理 513

8.4.4 Object.wait 等待過程原理 518

8.4.5 Object.notify 喚醒過程原理 522

8.4.6 Object.notifyAll 喚醒全部過程原理 524

8.4.7 Object.hashcode 獲取哈希碼過程原理 526

8.5 小結 530

第9章 AQS源碼詳解 531

9.1 compare and swap原理詳解 531

9.1.1 compare and swap概念 531

9.1.2 Java層面compare and swap實現原理 531

9.1.3 Hotspot虛擬機層面compare and swap實現原理 532

9.1.4 匯編層面compare and swap實現原理 533

9.2 AQS核心之Node類 533

9.3 AQS核心之head和tail變量 534

9.4 AQS核心之state變量 535

9.5 AQS核心之acquire過程原理 536

9.6 AQS核心之acquireInterruptibly過程原理 540

9.7 AQS核心之acquireShared過程原理 541

9.8 AQS核心之acquireSharedInterruptibly過程原理 544

9.9 AQS核心之release過程原理 544

9.10 AQS核心之releaseShared過程原理 545

9.11 AQS核心之條件變量原理 545

9.11.1 ConditionObject類 545

9.11.2 await Node等待操作原理 546

9.11.3 signal Node喚醒操作原理 550

9.11.4 相關工具方法詳述 552

9.12 小結 553

第10章 JVM線程原理詳解 554

10.1 JNI詳述 554

10.1.1 JNI概念 554

10.1.2 JVM執行外部動態鏈接庫原理 556

10.1.3 JVM執行內部動態鏈接庫原理 578

10.1.4 JNIEnv結構體原理 583

10.2 Java Thread類源碼解析 584

10.3 Java Thread Start原理解析 585

10.4 Java Thread Stop原理解析 592

10.5 Java Thread Interrupt原理解析 594

10.6 Java Thread isInterrupted原理解析 595

10.7 Java Thread Sleep原理解析 596

10.8 Java Thread Yield原理解析 598

10.9 Java Thread Suspend原理解析 599

10.10 Java Thread Resume原理解析 601

10.11 JVM Thread層級結構 601

10.12 JVM互斥體原理 605

10.12.1 ParkEvent與Parker原理 606

10.12.2 MutexLocker原理 614

10.12.3 MutexLockerEx原理 615

10.12.4 Mutex和Monitor原理 616

10.13 小結 623


展開全部

深入理解Java高并發編程 作者簡介

黃俊,專注于研究Java語言, Hotspot, Linux內核,C語言與匯編,架構設計,多線程并發處理,專注于研究高效學習方式。曾就職于美團、阿里,前新東方業務架構師。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 大行程影像测量仪-探针型影像测量仪-增强型影像测量仪|首丰百科 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 广州食堂承包_广州团餐配送_广州堂食餐饮服务公司 - 旺记餐饮 | 橡胶电子拉力机-塑料-微电脑电子拉力试验机厂家-江苏天源 | 爱德华真空泵油/罗茨泵维修,爱发科-比其尔产品供应东莞/杭州/上海等全国各地 | 莱州网络公司|莱州网站建设|莱州网站优化|莱州阿里巴巴-莱州唯佳网络科技有限公司 | 湖北省煤炭供应链综合服务平台| 火锅加盟_四川成都火锅店加盟_中国火锅连锁品牌十强_朝天门火锅【官网】 | 杭州ROHS检测仪-XRF测试仪价格-百科 | 喷漆房_废气处理设备-湖北天地鑫环保设备有限公司 | 耳模扫描仪-定制耳机设计软件-DLP打印机-asiga打印机-fitshape「飞特西普」 | 智能垃圾箱|垃圾房|垃圾分类亭|垃圾分类箱专业生产厂家定做-宿迁市传宇环保设备有限公司 | 打包箱房_集成房屋-山东佳一集成房屋有限公司 | 合肥礼品公司-合肥礼品定制-商务礼品定制公司-安徽柏榽商贸有限公司 | 稳尚教育加盟-打造高考志愿填报平台_新高考志愿填报加盟_学业生涯规划加盟 | 恒温恒湿试验箱厂家-高低温试验箱维修价格_东莞环仪仪器_东莞环仪仪器 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | 九州网址_专注于提供网址大全分享推广中文网站导航服务 | 上海赞永| nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | 磁力抛光机_磁力研磨机_磁力去毛刺机_精密五金零件抛光设备厂家-冠古科技 | 胶原检测试剂盒,弹性蛋白检测试剂盒,类克ELISA试剂盒,阿达木单抗ELISA试剂盒-北京群晓科苑生物技术有限公司 | 防弹玻璃厂家_防爆炸玻璃_电磁屏蔽玻璃-四川大硅特玻科技有限公司 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 净气型药品柜-试剂柜-无管道净气型通风柜-苏州毕恩思 | 诸城网站建设-网络推广-网站优化-阿里巴巴托管-诸城恒泰互联 | 牛奶检测仪-乳成分分析仪-北京海谊 | 衬氟止回阀_衬氟闸阀_衬氟三通球阀_衬四氟阀门_衬氟阀门厂-浙江利尔多阀门有限公司 | CCE素质教育博览会 | CCE素博会 | 教育展 | 美育展 | 科教展 | 素质教育展 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 托利多电子平台秤-高精度接线盒-托利多高精度电子秤|百科 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 | 新疆乌鲁木齐网站建设-乌鲁木齐网站制作设计-新疆远璨网络 | 油液红外光谱仪-油液监测系统-燃油嗅探仪-上海冉超光电科技有限公司 | 扬州汇丰仪表有限公司|