TOP
英國出版界指標大獎肯定!A.F. Steadman 獲年度作家,《史坎德》系列帶你踏上熱血奇幻旅程
Java高併發編程詳解:深入理解併發核心庫(簡體書)
滿額折

Java高併發編程詳解:深入理解併發核心庫(簡體書)

商品資訊

人民幣定價:99 元
定價
:NT$ 594 元
優惠價
87517
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點 :15 點
商品簡介
名人推薦
目次

商品簡介

本書分了四個部分,第壹部分詳細講解JDK高併發核心庫,包括JDK1.8、JDK1.9對高併發的支持。第二部分主要講解Actor模型的實現Akka是如何應用在高併發編程環境中的。第三部分系統講解RxJava以及Reactive的高併發編程模型。第四部分站拾遺補漏介紹Google Guava、Disruptor等開源框架提供的高併發解決方案。

名人推薦

《Java高併發編程詳解:多線程與架構設計》的姊妹篇!

目次

推薦序一
推薦序二
推薦序三
推薦序四
前 言
第1章 JMH 1
1.1 JMH簡介 1
1.2 JMH快速入門 1
1.2.1 用main方法進行測試 1
1.2.2 用JMH進行微基準測試 3
1.3 JMH的基本用法 6
1.3.1 @Benchmark標記基準測試方法 7
1.3.2 Warmup以及Measurement 8
1.3.3 四大BenchmarkMode 10
1.3.4 OutputTimeUnit 14
1.3.5 三大State的使用 14
1.3.6 @Param的妙用 19
1.3.7 JMH的測試套件(Fixture) 23
1.3.8 CompilerControl 26
1.4 編寫正確的微基準測試以及高級用法 27
1.4.1 編寫正確的微基準測試用例 28
1.4.2 一些高級的用法 38
1.5 JMH的Profiler 45
1.5.1 StackProfiler 45
1.5.2 GcProfiler 47
1.5.3 ClassLoaderProfiler 51
1.5.4 CompilerProfiler 54
1.6 本章總結 56
第2章 Java並發包之原子類型詳解 57
2.1 AtomicInteger詳解 58
2.1.1 性能測試對比 58
2.1.2 AtomicInteger的基本用法 61
2.1.3 AtomicInteger內幕 66
2.1.4 AtomicInteger總結 68
2.2 AtomicBoolean詳解 69
2.2.1 AtomicBoolean的基本用法 69
2.2.2 AtomicBoolean內幕 71
2.2.3 Try Lock顯式鎖的實現 71
2.2.4 AtomicBoolean總結 74
2.3 AtomicLong詳解 74
2.4 AtomicReference詳解 76
2.4.1 AtomicReference的應用場景 77
2.4.2 AtomicReference的基本用法 83
2.4.3 AtomicReference的內幕 84
2.4.4 AtomicReference總結 86
2.5 AtomicStampedReference詳解 86
2.5.1 CAS算法ABA問題 86
2.5.2 AtomicStampedReference詳解 87
2.5.3 AtomicStampedReference總結 89
2.6 AtomicArray詳解 89
2.7 AtomicFieldUpdater詳解 90
2.7.1 原子性更新對象屬性 90
2.7.2 注意事項 91
2.7.3 AtomicFieldUpdater總結 93
2.8 sun.misc.Unsafe詳解 93
2.8.1 如何獲取Unsafe 94
2.8.2 JNI、Java和C/C++混合編程 95
2.8.3 危險的Unsafe 98
2.8.4 sun.misc.Unsafe總結 100
2.9 本章總結 100
第3章 Java並發包之工具類詳解 102
3.1 CountDownLatch工具詳解 102
3.1.1 等待所有子任務結束 103
3.1.2 CountDownLatch的其他方法及總結 106
3.2 CyclicBarrier工具詳解 107
3.2.1 等待所有子任務結束 107
3.2.2 CyclicBarrier的循環特性 110
3.2.3 CyclicBarrier的其他方法以及總結 114
3.2.4 CyclicBarrier VS. CountDownLatch 116
3.3 Exchanger工具詳解 116
3.3.1 一對線程間的數據交換 116
3.3.2 Exchanger的方法詳解 121
3.3.3 Exchanger總結 123
3.4 Semaphore工具詳解 124
3.4.1 Semaphore限制同時在線的用戶數量 124
3.4.2 使用Semaphore定義try lock 127
3.4.3 Semaphore其他方法詳解 129
3.4.4 擴展Semaphore增強release 135
3.4.5 Semaphore總結 138
3.5 Phaser工具詳解 138
3.5.1 Phaser的基本用法 138
3.5.2 Phase(階段)以及Phaser方法詳解 144
3.5.3 Phaser層級關係 148
3.5.4 Phaser總結 149
3.6 Lock&ReentrantLock詳解 150
3.6.1 Lock及ReentrantLock方法詳解 150
3.6.2 正確使用顯式鎖Lock 152
3.6.3 ReentrantLock VS. Synchronized關鍵字 158
3.6.4 顯式鎖Lock總結 164
3.7 ReadWriteLock&ReentrantRead-WriteLock詳解 165
3.7.1 讀寫鎖的基本使用方法 165
3.7.2 讀寫鎖的方法 167
3.7.3 基準測試性能對比 167
3.7.4 讀寫鎖總結 170
3.8 Condition詳解 171
3.8.1 初識Condition 171
3.8.2 Condition接口方法詳解 174
3.8.3 使用Condition之生產者消費者 177
3.8.4 Condition總結 181
3.9 StampedLock詳解 181
3.9.1 讀寫鎖的饑餓寫問題 182
3.9.2 StampedLock的使用 183
3.9.3 與其他鎖的性能對比 185
3.9.4 StampedLock總結 191
3.10 Guava之Monitor詳解 192
3.10.1 Monitor及Guard 192
3.10.2 Monitor的其他方法 194
3.10.3 Monitor總結 194
3.11 Guava之RateLimiter詳解 194
3.11.1 RateLimiter的基本使用 195
3.11.2 RateLimiter的限流操作――漏桶算法 196
3.11.3 令牌環桶算法 201
3.11.4 RateLimiter總結 204
3.12 本章總結 204
第4章 Java並發包之併發容器詳解 205
4.1 鏈表 206
4.1.1 基本的鏈表 206
4.1.2 優先級鏈表 210
4.1.3 跳表(SkipList) 213
4.1.4 鏈表總結 221
4.2 BlockingQueue(阻塞隊列) 221
4.2.1 ArrayBlockingQueue 222
4.2.2 PriorityBlockingQueue 226
4.2.3 LinkedBlockingQueue 228
4.2.4 DelayQueue 228
4.2.5 SynchronousQueue 231
4.2.6 LinkedBlockingDeque 233
4.2.7 LinkedTransferQueue 234
4.2.8 BlockingQueue總結 236
4.3 ConcurrentQueue(併發隊列) 237
4.3.1 併發隊列的性能 239
4.3.2 併發隊列在使用中需要注意的問題 241
4.3.3 併發隊列總結 245
4.4 ConcurrentMap(併發映射) 245
4.4.1 ConcurrentHashMap簡介 245
4.4.2 ConcurrentSkipListMap簡介 247
4.4.3 併發映射總結 247
4.5 寫時拷貝算法(Copy On Write) 248
4.5.1 CopyOnWrite讀實現操作分析 249
4.5.2 CopyOnWrite寫實現操作分析 249
4.5.3 CopyOnWrite總結 250
4.6 高併發無鎖(Lock Free)數據結構的實現 250
4.6.1 高併發無鎖鏈表的實現 250
4.6.2 Lock Free數據結構的測試 253
4.6.3 本節總結 255
4.7 本章總結 255
第5章 Java並發包之ExecutorService詳解 256
5.1 Executor&ExecutorService詳解 256
5.1.1 ThreadPoolExecutor詳解 257
5.1.2 ScheduledExecutorService詳解 265
5.1.3 關閉ExecutorService 271
5.1.4 Executors詳解 273
5.1.5 ExecutorService總結 276
5.2 Future和Callback 277
5.2.1 Future詳解 277
5.2.2 ExecutorService與Future 280
5.2.3 Future的不足之處 282
5.2.4 Google Guava的Future 282
5.2.5 Future總結 284
5.3 ForkJoinPool 詳解 284
5.3.1 Fork/Join Framework介紹 284
5.3.2 ForkJoinTask詳解 285
5.3.3 ForkJoinPool總結 289
5.4 CompletionService詳解 289
5.4.1 ExecutorService執行批量任務的缺陷 289
5.4.2 CompletionService詳解 291
5.4.3 CompletionService總結 294
5.5 CompletableFuture詳解 294
5.5.1 CompletableFuture的基本用法 294
5.5.2 任務的異步運行 296
5.5.3 異步任務鏈 296
5.5.4 合併多個Future 298
5.5.5 多Future的並行計算 299
5.5.6 錯誤處理 299
5.5.7 JDK 9對CompletableFuture的進一步支持 300
5.5.8 CompletableFuture總結 300
5.6 本章總結 301
第6章 Java Streams詳解 302
6.1 Stream介紹及其基本操作 302
6.1.1 如何創建Stream 303
6.1.2 Stream之Intermediate操作 306
6.1.3 Stream之Terminal操作 312
6.1.4 NumericStream詳解 317
6.1.5 Stream總結 320
6.2 Collector在Stream中的使用 320
6.2.1 初識Collector 321
6.2.2 Collectors用法詳解 324
6.2.3 自定義Collector 335
6.2.4 Collector總結 336
6.3 Parallel Stream詳解 337
6.3.1 並行流Parallel Stream 337
6.3.2 Spliterator 詳解 340
6.3.3 Spliterator總結 343
6.4 本章總結 344
第7章 Metrics(Powerful Toolkit For Measure) 345
7.1 Metrics快速入門 345
7.1.1 如何監控度量應用程序 345
7.1.2 Metrics環境搭建 346
7.2 五大Metric詳解 346
7.2.1 Meter 347
7.2.2 Gauge 349
7.2.3 Counter 360
7.2.4 Histogram 362
7.2.5 Timer 370
7.3 Reporter詳解 372
7.3.1 ConsoleReporter 373
7.3.2 LogReporter 376
7.3.3 JMXReporter 378
7.3.4 CsvReporter 379
7.4 Metrics Plugins 380
7.4.1 Health Check 381
7.4.2 JVM Instrumentation 386
7.5 深入Metrics源碼 387
7.5.1 MetricRegistry如何工作 388
7.5.2 Reporter如何工作 392
7.5.3 拾遺補漏 394
7.6 本章總結 396

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 517
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區