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

歡迎光臨中圖網 請 | 注冊
> >>
Java并發編程深度解析與實戰

包郵 Java并發編程深度解析與實戰

出版社:電子工業出版社出版時間:2021-10-01
開本: 其他 頁數: 508
¥47.8(4.1折)?

預估到手價是按參與促銷活動、以最優惠的購買方案計算出的價格(不含優惠券部分),僅供參考,未必等同于實際到手價。

00:00:00
中 圖 價:¥95.6(8.1折)定價  ¥118.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
溫馨提示:5折以下圖書主要為出版社尾貨,大部分為全新(有塑封/無塑封),個別圖書品相8-9成新、切口
有劃線標記、光盤等附件不全詳細品相說明>>
本類五星書更多>

Java并發編程深度解析與實戰 版權信息

Java并發編程深度解析與實戰 本書特色

★ 涵蓋Java整個并發編程體系的核心庫和核心類使用以及原理分析 ★ 不同于其他書,本書初學者更容易上手,老手可深入理解設計思想 ★ 每一個知識點都以垂直化設計方式進行分析和展開,兼顧深度和廣度 ★ 內容聚合度高,針對一個技術點縱向分析相關的所有內容并詳細說明 ★ 對于很多技術點的分析,都是站在一個設計者(架構)的視角來展開 ★ 大量的圖形設計簡化對復雜技術的理解,平均每章圖片數在30左右 ★ 內容由淺到深遞進性分析,讀者能夠形成對并發編程的體系化積累 ★ 涵蓋大量實戰案例,可以讓讀者理解各類技術在實際應用中的使用 ★ 作者經驗豐富,擁有13年Java開發及架構經驗, 培養了近3W+學員,學員遍布一二線主流互聯網企業

Java并發編程深度解析與實戰 內容簡介

本書涵蓋Java并發編程體系的核心庫和核心類使用及原理分析,具體包括線程、synchronized、volatile、J.U.C中的重入鎖和讀寫鎖、并發中的條件等待機制、J.U.C并發工具集、深度探索并發編程不得不知的工具、阻塞隊列、并發安全集合、線程池、異步編程特性等。書中針對每一個技術點,縱向分析相關的所有內容,并且對相關知識點進行了很好詳細的說明,同時站在架構實踐的角度來看待并發,通過大量實戰案例讓讀者理解各類技術在實際應用中的使用方法。 作者花了4年時間投入了大量精力對并發編程領域做了深入的研究,將自己13年Java開發及架構經驗融入了書中,對于各位讀者來說,這應該是一本很好值得閱讀的圖書。

Java并發編程深度解析與實戰 目錄

第1章 Java線程的實踐及原理揭秘

1.1 如何理解系統并發

1.2 系統如何支撐高并發

1.3 線程的前世今生

1.3.1 大白話理解進程和線程

1.3.2 線程的核心價值

1.3.3 如何理解并發和并行

1.4 在Java中如何使用多線程

1.4.1 實現Runnable接口創建線程

1.4.2 繼承Thread類創建線程

1.4.3 實現Callable接口并創建帶返回值的線程

1.5 多線程如何應用到實際場景

1.5.1 ServerSocket

1.5.2 SocketThread

1.6 多線程的基本原理

1.7 線程的運行狀態

1.7.1 線程運行狀態演示

1.7.2 線程運行狀態流轉圖

1.8 如何正確終止線程

1.8.1 關于安全中斷線程的思考

1.8.2 安全中斷線程之interrupt

1.8.3 如何中斷處于阻塞狀態下的線程

1.8.4 interrupt()方法的實現原理

1.9 理解上下文切換帶來的性能影響

1.9.1 上下文切換帶來的問題

1.9.2 什么是上下文切換

1.9.3 如何減少上下文切換

1.10 揭秘守護線程

1.10.1 守護線程的應用場景

1.10.2 守護線程使用注意事項

1.11 快速定位并解決線程導致的生產問題

1.11.1 死鎖導致請求無法響應

1.11.2 CPU占用率很高,響應很慢

1.12 本章小結

第2章 深度揭秘synchronized實現原理

2.1 揭秘多線程環境下的原子性問題

2.1.1 深入分析原子性問題的本質

2.1.2 關于原子性問題的解決辦法

2.2 Java中的synchronized同步鎖

2.2.1 synchronized的使用方法

2.2.2 了解synchronized同步鎖的作用范圍

2.3 關于synchronized同步鎖的思考

2.4 synchronzied同步鎖標記存儲分析

2.4.1 揭秘Mark Word的存儲結構

2.4.2 圖解分析對象的實際存儲

2.4.3 通過ClassLayout查看對象內存布局

2.4.4 Hotspot虛擬機中對象存儲的源碼

2.5 synchronized的鎖類型

2.5.1 偏向鎖的原理分析

2.5.2 輕量級鎖的原理分析

2.5.3 重量級鎖的原理分析

2.6 關于CAS機制的實現原理分析

2.6.1 CAS在AtomicInteger中的應用

2.6.2 CAS實現自旋鎖

2.6.3 CAS在JVM中的實現原理分析

2.7 鎖升級的實現流程

2.7.1 偏向鎖的實現原理

2.7.2 輕量級鎖的實現原理

2.7.3 重量級鎖的實現原理

2.8 synchronized使用不當帶來的死鎖問題

2.8.1 死鎖的案例分析

2.8.2 死鎖產生的必要條件

2.8.3 如何解決死鎖問題

2.9 本章小結

第3章 volatile為什么能解決可見性和有序性問題

3.1 關于線程的可見性問題分析

3.1.1 思考導致問題的原因

3.1.2 volatile關鍵字解決可見性問題

3.2 深度理解可見性問題的本質

3.2.1 如何*大化提升CPU利用率

3.2.2 詳述CPU高速緩存

3.2.3 CPU緩存一致性問題

3.2.4 總結可見性問題的本質

3.3 volatile如何解決可見性問題

3.4 指令重排序導致的可見性問題

3.4.1 什么是指令重排序

3.4.2 as-if-serial語義

3.5 從CPU層面深度剖析指令重排序的本質

3.5.1 CPU優化—Store Buffers

3.5.2 CPU優化—Store Forwarding

3.5.3 CPU優化—Invalidate Queues

3.6 通過內存屏障解決內存系統重排序問題

3.6.1 內存屏障詳解

3.6.2 通過內存屏障防止重排序

3.6.3 不同CPU的重排序規則

3.6.4 總結CPU層面的可見性問題

3.7 Java Memory Mode

3.7.1 從JVM和硬件層面理解Java Memory Mode

3.7.2 JVM提供的內存屏障指令

3.8 揭秘volatile實現原理

3.9 Happens-Before模型

3.9.1 程序順序規則

3.9.2 傳遞性規則

3.9.3 volatile變量規則

3.9.4 監視器鎖規則

3.9.5 start規則

3.9.6 join規則

3.10 本章小結

第4章 深入淺出分析J.U.C中的重入鎖和讀寫鎖

4.1 J.U.C中與鎖相關的API

4.1.1 ReentrantLock的基本應用

4.1.2 ReentrantReadWriteLock的基本應用

4.1.3 StampedLock的基本應用

4.2 ReentrantLock的設計猜想

4.2.1 鎖的互斥,必須要競爭同一個共享變量

4.2.2 沒有競爭到鎖的線程,需要阻塞

4.2.3 需要一個容器存儲被阻塞的線程

4.3 ReentrantLock實現原理分析

4.4 AbstractQueuedSynchronizer

4.5 ReentrantLock源碼分析

4.5.1 ReentrantLock.lock()方法

4.5.2 AbstractQueuedSynchronizer.acquire()方法

4.5.3 NonfairSync.tryAcquire()方法

4.5.4 ReentrantLock.nofairTryAcquire()方法

4.5.5 AbstractQueuedSynchronizer.addWaiter()方法

4.5.6 AQS.acquireQueued()方法

4.6 ReentrantLock釋放鎖源碼分析

4.6.1 ReentrantLock.tryRelease()方法

4.6.2 unparkSuccessor()方法

4.6.3 釋放鎖的線程繼續執行

4.7 分析ReentrantReadWriteLock類的原理

4.7.1 WriteLock鎖競爭原理

4.7.2 ReadLock鎖競爭原理

4.7.3 ReentrantReadWriteLock中的鎖降級

4.8 StampedLock的原理分析

4.8.1 核心內部類分析

4.8.2 StampedLock原理圖解

4.8.3 StampedLock鎖升級

4.9 本章小結

第5章 從線程通信來窺探并發中的條件等待機制

5.1 wait/notify

5.1.1 wait()/notify()方法使用實戰

5.1.2 圖解生產者/消費者

5.1.3 wait()/notify()方法的原理

5.1.4 wait()/notify()方法為什么要加同步鎖

5.2 通過Thread.join獲取線程執行結果

5.2.1 Thread.join()方法的執行流程

5.2.2 Thread.join()方法的實現原理

5.3 J.U.C中的條件控制Condition

5.3.1 Condition的基本應用

5.3.2 基于Condition的手寫阻塞隊列

5.4 Condition的設計猜想

5.5 Condition的源碼分析

5.5.1 Condition.await()方法

5.5.2 Condition.signal()方法

5.5.3 鎖競爭成功后的執行流程

5.6 本章小結

第6章 J.U.C并發工具集實戰及原理分析

6.1 CountDownLatch簡單介紹

6.1.1 CountDownLatch的基本使用

6.1.2 CountDownLatch運行流程

6.1.3 如何落地到實際應用

6.1.4 CountDownLatch的其他用法

6.2 CountDownLatch底層原理

6.2.1 讓線程等待的await()方法到底做了什么

6.2.2 深入分析countDown()方法源碼

6.2.3 線程被喚醒后的執行邏輯

6.3 Semaphore

6.3.1 Semaphore使用案例

6.3.2 Semaphore方法及場景說明

6.4 Semaphore原理分析

6.4.1 Semaphore令牌獲取過程分析

6.4.2 Semaphore令牌釋放過程分析

6.5 CyclicBarrier

6.5.1 CyclicBarrier的基本使用

6.5.2 基本原理分析

6.6 CyclicBarrier實現原理及源碼

6.6.1 await()方法

6.6.2 reset()方法

6.7 本章小結

第7章 深度探索并發編程不得不知的工具

7.1 初步認識ThreadLocal

7.2 ThreadLocal的應用場景分析

7.3 ThreadLocal解決SimpleDateFormat線程安全問題

7.3.1 SimpleDateFormat線程安全問題的原理

7.3.2 ThreadLocal實現線程安全性

7.4 ThreadLocal實現原理分析

7.4.1 set()方法源碼分析

7.4.2 get()方法源碼分析

7.4.3 ThreadLocal內存泄漏

7.5 任務拆分與聚合Fork/Join

7.5.1 Fork/Join的核心API說明

7.5.2 Fork/Join的基本使用

7.6 Fork/Join的實現原理

7.6.1 WorkQueue的原理

7.6.2 工作竊取算法

7.7 Fork/Join的核心源碼分析

7.7.1 任務提交過程詳解

7.7.2 喚醒或者創建工作線程

7.7.3 工作線程和工作隊列的綁定

7.7.4 ForkJoinWorkerThread運行過程

7.8 使用Fork/Join解決實際問題

7.8.1 項目結構說明

7.8.2 ILoadDataProcessor

7.8.3 AbstractLoadDataProcessor

7.8.4 業務服務類

7.8.5 Item聚合任務服務

7.8.6 ComplexTradeTaskService

7.8.7 測試代碼

7.9 本章小結

第8章 深度剖析阻塞隊列的設計原理及實現

8.1 什么是阻塞隊列

8.2 Java中提供的阻塞隊列

8.3 阻塞隊列中提供的方法

8.4 阻塞隊列的使用

8.4.1 生產者/消費者模型代碼

8.4.2 圖解阻塞隊列實現原理

8.5 阻塞隊列應用實戰

8.5.1 基于阻塞隊列的責任鏈源碼

8.5.2 阻塞隊列實戰場景總結

8.6 詳解J.U.C中阻塞隊列的使用

8.6.1 基于數組結構的阻塞隊列ArrayBlockingQueue

8.6.2 基于鏈表的阻塞隊列LinkedBlockingQueue

8.6.3 優先級阻塞隊列PriorityBlockingQueue

8.6.4 延遲阻塞隊列DelayQueue

8.6.5 無存儲結構的阻塞隊列SynchronousQueue

8.6.6 阻塞隊列結合體LinkedTransferQueue

8.6.7 雙向阻塞隊列LinkedBlockingDeque

8.7 阻塞隊列的實現原理

8.7.1 put()方法說明

8.7.2 take()方法說明

8.8 本章小結

第9章 深度解讀并發安全集合的原理及源碼

9.1 并發安全集合ConcurrentHashMap

9.2 正確理解ConcurrentHashMap的線程安全性

9.2.1 computeIfAbsent()方法詳解

9.2.2 computeIfPresent()方法詳解

9.2.3 compute()方法詳解

9.2.4 merge()方法詳解

9.3 ConcurrentHashMap的數據結構

9.3.1 ConcurrentHashMap數據存儲相關定義

9.3.2 Node數組初始化過程分析

9.3.3 單節點到鏈表的轉化過程分析

9.3.4 擴容還是轉化為紅黑樹

9.4 深度分析ConcurrentHashMap中的并發擴容機制

9.4.1 多線程并發擴容原理圖解

9.4.2 詳解ConcurrentHashMap中的數據遷移

9.5 分段鎖設計提高統計元素數量的性能

9.5.1 size計數的基本原理分析

9.5.2 addCount()方法詳解

9.5.3 fullAddCount()方法分析

9.6 詳解紅黑樹的實現原理

9.6.1 什么是紅黑樹

9.6.2 紅黑樹的平衡規則

9.6.3 紅黑樹的平衡場景規則說明

9.6.4 紅黑樹插入元素平衡圖解

9.6.5 紅黑樹規則實戰解析

9.6.6 紅黑樹中刪除元素的平衡規則

9.7 ConcurrentHashMap中紅黑樹的使用

9.7.1 TreeBin的基本介紹

9.7.2 鏈表轉化成紅黑樹

9.7.3 自平衡

9.7.4 ConcurrentHashMap總結

9.8 Java中其他并發安全集合

9.8.1 ConcurrentLinkedQueue

9.8.2 ConcurrentLinkedDeque

9.8.3 ConcurrentSkipListMap

9.9 深度分析數據結構:跳表

9.9.1 什么是跳表

9.9.2 跳表的特性

9.9.3 跳表的基本操作

9.10 本章小結

第10章 站在架構的角度思考線程池的設計及原理

10.1 線程池的優勢

10.2 Java中提供的線程池

10.2.1 線程池的使用

10.2.2 ThreadPoolExecutor

10.3 Executor框架詳解

10.4 線程池的設計猜想

10.4.1 線程池的需求分析

10.4.2 生產者/消費者模型的設計

10.4.3 任務拒絕策略

10.4.4 非核心線程的回收

10.4.5 線程池設計總結

10.5 從實現原理了解線程池

10.6 線程池核心源碼剖析

10.6.1 線程狀態和數量存儲

10.6.2 線程池的狀態機及變更

10.6.3 從execute()方法分析線程池源碼

10.7 合理設置線程池參數

10.7.1 線程池大小的合理設置

10.7.2 動態設置線程池參數

10.8 線程池的監控

10.8.1 線程池監控的基本原理

10.8.2 在Spring Boot應用中發布線程池信息

10.9 本章小結

第11章 Java并發編程中的異步編程特性

11.1 了解Future/Callable

11.2 Future/Callable的實現原理

11.2.1 FutureTask的核心屬性

11.2.2 FutureTask.run()

11.2.3 FutureTask.get()

11.2.4 finishCompletion()

11.3 Java 8新特性之CompletableFuture

11.3.1 CompletableFuture類關系圖

11.3.2 CompletableFuture方法說明

11.3.3 主動獲取執行結果

11.4 CompletionStage方法及作用說明

11.4.1 方法分類概述

11.4.2 CompletionStage異常處理方法

11.4.3 方法類型總結

11.5 CompletableFuture綜合實戰

11.5.1 商品實體對象

11.5.2 模擬微服務請求實現類

11.5.3 Web請求

11.6 CompletableFuture實現原理分析

11.6.1 Completion說明

11.6.2 圖解Completion的棧結構

11.7 核心源碼分析

11.7.1 CompletableFuture靜態任務創建

11.7.2 Completion Stack構建

11.7.3 簡述UniCompletion

11.7.4 任務執行流程

11.7.5 獲取任務執行結果

11.8 本章小結

展開全部

Java并發編程深度解析與實戰 作者簡介

譚鋒(Mic) 咕泡學院聯合創始人,2017年開始創業,至今4年多時間。擁有13年Java開發及架構經驗,其中有4年授課經驗,培養了近3W+學員,學員遍布一二線主流互聯網企業。 曾就職于中國電信、平安支付、挖財等公司擔任業務架構師,在平安支付主導基于Dubbo的服務化架構設計和落地,在上海挖財推動基于Spring Boot微服務化架構的改造。 因此對于微服務架構、高并發架構有非常豐富的實踐經驗和深度研究。目前擔任教學總監一職,負責微服務高并發領域的課程研發和設計。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 金联宇电缆总代理-金联宇集团-广东金联宇电缆实业有限公司 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | LED投光灯-工矿灯-led路灯头-工业灯具 - 山东普瑞斯照明科技有限公司 | 517瓜水果特产网|一个专注特产好物的网站 | 全钢实验台,实验室工作台厂家-无锡市辰之航装饰材料有限公司 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | TPE塑胶原料-PPA|杜邦pom工程塑料、PPSU|PCTG材料、PC/PBT价格-悦诚塑胶 | 洗瓶机厂家-酒瓶玻璃瓶冲瓶机-瓶子烘干机-封口旋盖压盖打塞机_青州惠联灌装机械 | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 | 挖掘机挖斗和铲斗生产厂家选择徐州崛起机械制造有限公司 | 体检车_移动CT车_CT检查车_CT车_深圳市艾克瑞电气有限公司移动CT体检车厂家-深圳市艾克瑞电气有限公司 | 好物生环保网、环保论坛 - 环保人的学习交流平台 | 陕西视频监控,智能安防监控,安防系统-西安鑫安5A安防工程公司 | 电主轴-高速精密电主轴-高速电机厂家-瑞德沃斯品牌有限公司 | 光泽度计_测量显微镜_苏州压力仪_苏州扭力板手维修-苏州日升精密仪器有限公司 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 百度网站优化,关键词排名,SEO优化-搜索引擎营销推广 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | CPSE安博会 | 优秀的临床医学知识库,临床知识库,医疗知识库,满足电子病历四级要求,免费试用 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 单螺旋速冻机-双螺旋-流态化-隧道式-食品速冻机厂家-广州冰泉制冷 | 北京网站建设|北京网站开发|北京网站设计|高端做网站公司 | 企业彩铃制作_移动、联通、电信集团彩铃上传开通_彩铃定制_商务彩铃管理平台-集团彩铃网 | 深圳公司注册-工商注册代理-注册公司流程和费用_护航财税 | 硅胶制品-硅橡胶制品-东莞硅胶制品厂家-广东帝博科技有限公司 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 洗地机-全自动/手推式洗地机-扫地车厂家_扬子清洁设备 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 商秀—企业短视频代运营_抖音企业号托管 | 深圳标识制作公司-标识标牌厂家-深圳广告标识制作-玟璟广告-深圳市玟璟广告有限公司 | 新型锤式破碎机_新型圆锥式_新型颚式破碎机_反击式打沙机_锤式制砂机_青州建源机械 | 宝元数控系统|对刀仪厂家|东莞机器人控制系统|东莞安川伺服-【鑫天驰智能科技】 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | 电伴热系统施工_仪表电伴热保温箱厂家_沃安电伴热管缆工业技术(济南)有限公司 | 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 磁力反应釜,高压釜,实验室反应釜,高温高压反应釜-威海自控反应釜有限公司 | SEO网站优化,关键词排名优化,苏州网站推广-江苏森歌网络 | 宏源科技-房地产售楼系统|线上开盘系统|售楼管理系统|线上开盘软件 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 |