-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
Java并發編程的藝術 版權信息
- ISBN:9787111508243
- 條形碼:9787111508243 ; 978-7-111-50824-3
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Java并發編程的藝術 本書特色
第1章介紹java并發編程的挑戰,會向讀者說明可能會遇到哪些問題,以及如何解決。第2章java并發編程的底層實現原理,從cpu和jvm2個層面剖析。第3章詳細深入介紹了java的內存模型。第4章從介紹多線程技術帶來的好處開始,講述了如何啟動和終止線程以及線程的狀態,詳細闡述了多線程之間進行通信的基本方式和等待/通知經典范式。第5章介紹java并發包中與鎖相關的api和組件,以及這些api和組件的使用方式和實現細節。第6章介紹了java中的大部分并發容器及其實現原理。第7章介紹了java中的原子操作類,并給出一些實例。第8章介紹了java中提供的很多并發工具類。第9章介紹了java中的線程池實現原理和使用建議。第10章介紹了executor框架的整體結構和成員組件。第11章介紹幾個并發編程的實戰與并發編程問題排查。
Java并發編程的藝術 內容簡介
第1章介紹Java并發編程的挑戰,會向讀者說明可能會遇到哪些問題,以及如何解決。第2章Java并發編程的底層實現原理,從CPU和JVM2個層面剖析。第3章詳細深入介紹了Java的內存模型。第4章從介紹多線程技術帶來的好處開始,講述了如何啟動和終止線程以及線程的狀態,詳細闡述了多線程之間進行通信的基本方式和等待/通知經典范式。第5章介紹Java并發包中與鎖相關的API和組件,以及這些API和組件的使用方式和實現細節。第6章介紹了Java中的大部分并發容器及其實現原理。第7章介紹了Java中的原子操作類,并給出一些實例。第8章介紹了Java中提供的很多并發工具類。第9章介紹了Java中的線程池實現原理和使用建議。第10章介紹了Executor框架的整體結構和成員組件。第11章介紹幾個并發編程的實戰與并發編程問題排查。
Java并發編程的藝術 目錄
前言
第1章并發編程的挑戰
1.1上下文切換
1.1.1多線程一定快嗎
1.1.2測試上下文切換次數和時長
1.1.3如何減少上下文切換
1.1.4減少上下文切換實戰
1.2死鎖
1.3資源限制的挑戰
1.4本章小結
第2章java并發機制的底層實現原理
2.1volatile的應用
2.2synchronized的實現原理與應用
2.2.1java對象頭
2.2.2鎖的升級與對比
2.3原子操作的實現原理
2.4本章小結
第3章java內存模型
3.1java內存模型的基礎
3.1.1并發編程模型的兩個關鍵問題
3.1.2java內存模型的抽象結構
3.1.3從源代碼到指令序列的重排序
3.1.4并發編程模型的分類
3.1.5happensbefore簡介
3.2重排序
3.2.1數據依賴性
3.2.2asifserial語義
3.2.3程序順序規則
3.2.4重排序對多線程的影響
3.3順序一致性
3.3.1數據競爭與順序一致性
3.3.2順序一致性內存模型
3.3.3同步程序的順序一致性效果
3.3.4未同步程序的執行特性
3.4volatile的內存語義
3.4.1volatile的特性
3.4.2volatile寫讀建立的happensbefore關系
3.4.3volatile寫讀的內存語義
3.4.4volatile內存語義的實現
3.4.5jsr133為什么要增強volatile的內存語義
3.5鎖的內存語義
3.5.1鎖的釋放獲取建立的happensbefore關系
3.5.2鎖的釋放和獲取的內存語義
3.5.3鎖內存語義的實現
3.5.4concurrent包的實現
3.6final域的內存語義
3.6.1final域的重排序規則
3.6.2寫final域的重排序規則
3.6.3讀final域的重排序規則
3.6.4final域為引用類型
3.6.5為什么final引用不能從構造函數內"溢出"
3.6.6final語義在處理器中的實現
3.6.7jsr133為什么要增強f?inal的語義
3.7happensbefore
3.7.1jmm的設計
3.7.2happensbefore的定義
3.7.3happensbefore規則
3.8雙重檢查鎖定與延遲初始化
3.8.1雙重檢查鎖定的由來
3.8.2問題的根源
3.8.3基于volatile的解決方案
3.8.4基于類初始化的解決方案
3.9java內存模型綜述
3.9.1處理器的內存模型
3.9.2各種內存模型之間的關系
3.9.3jmm的內存可見性保證
3.9.4jsr133對舊內存模型的修補
3.10本章小結
第4章java并發編程基礎
4.1線程簡介
4.1.1什么是線程
4.1.2為什么要使用多線程
4.1.3線程優先級
4.1.4線程的狀態
4.1.5daemon線程
4.2啟動和終止線程
4.2.1構造線程
4.2.2啟動線程
4.2.3理解中斷
4.2.4過期的suspend()、resume()和stop()
4.2.5安全地終止線程
4.3線程間通信
4.3.1volatile和synchronized關鍵字
4.3.2等待/通知機制
4.3.3等待/通知的經典范式
4.3.4管道輸入/輸出流
4.3.5thread.join()的使用
4.3.6threadlocal的使用
4.4線程應用實例
4.4.1等待超時模式
4.4.2一個簡單的數據庫連接池示例
4.4.3線程池技術及其示例
4.4.4一個基于線程池技術的簡單web服務器
4.5本章小結
第5章java中的鎖
5.1lock接口
5.2隊列同步器
5.2.1隊列同步器的接口與示例
5.2.2隊列同步器的實現分析
5.3重入鎖
5.4讀寫鎖
5.4.1讀寫鎖的接口與示例
5.4.2讀寫鎖的實現分析
5.5locksupport工具
5.6condition接口
5.6.1condition接口與示例
5.6.2condition的實現分析
5.7本章小結
第6章java并發容器和框架
6.1concurrenthashmap的實現原理與使用
6.1.1為什么要使用concurrenthashmap
6.1.2concurrenthashmap的結構
6.1.3concurrenthashmap的初始化
6.1.4定位segment
6.1.5concurrenthashmap的操作
6.2concurrentlinkedqueue
6.2.1concurrentlinkedqueue的結構
6.2.2入隊列
6.2.3出隊列
6.3java中的阻塞隊列
6.3.1什么是阻塞隊列
6.3.2java里的阻塞隊列
6.3.3阻塞隊列的實現原理
6.4fork/join框架
6.4.1什么是fork/join框架
6.4.2工作竊取算法
6.4.3fork/join框架的設計
6.4.4使用fork/join框架
6.4.5fork/join框架的異常處理
6.4.6fork/join框架的實現原理
6.5本章小結
第7章java中的13個原子操作類
7.1原子更新基本類型類
7.2原子更新數組
7.3原子更新引用類型
7.4原子更新字段類
7.5本章小結
第8章java中的并發工具類
8.1等待多線程完成的countdownlatch
8.2同步屏障cyclicbarrier
8.2.1cyclicbarrier簡介
8.2.2cyclicbarrier的應用場景
8.2.3cyclicbarrier和countdownlatch的區別
8.3控制并發線程數的semaphore
8.4線程間交換數據的exchanger
8.5本章小結
第9章java中的線程池
9.1線程池的實現原理
9.2線程池的使用
9.2.1線程池的創建
9.2.2向線程池提交任務
9.2.3關閉線程池
9.2.4合理地配置線程池
9.2.5線程池的監控
9.3本章小結
第10章executor框架
10.1executor框架簡介
10.1.1executor框架的兩級調度模型
10.1.2executor框架的結構與成員
10.2threadpoolexecutor詳解
10.2.1fixedthreadpool詳解
10.2.2singlethreadexecutor詳解
10.2.3cachedthreadpool詳解
10.3scheduledthreadpoolexecutor詳解
10.3.1scheduledthreadpoolexecutor的運行機制
10.3.2scheduledthreadpoolexecutor的實現
10.4futuretask詳解
10.4.1futuretask簡介
10.4.2futuretask的使用
10.4.3futuretask的實現
10.5本章小結
第11章java并發編程實踐
11.1生產者和消費者模式
11.1.1生產者消費者模式實戰
11.1.2多生產者和多消費者場景
11.1.3線程池與生產消費者模式
11.2線上問題定位
11.3性能測試
11.4異步任務池
11.5本章小結
Java并發編程的藝術 作者簡介
方騰飛(花名清英,英文名kiral), 螞蟻金服集團技術專家,從事Java開發近10年。5年以上的團隊管理、項目管理和敏捷開發經驗,崇尚團隊合作。曾參與CMS、電子海圖、SOC、ITIL、電子商務網站和信貸管理系統等項目。目前在螞蟻金服網商銀行貸款管理團隊負責數據采集平臺開發工作。與同事合作開發了tala code Review插件,深受阿里數千名工程師擁躉,并開發過開源工具jdbcutil(https://github.com/kiral/utils)。創辦了并發編程網,組織翻譯了百余篇國外優秀技術文章,并曾為InfoQ撰寫“聊聊并發”專欄,在《程序員》雜志撰寫敏捷實踐系列文章 魏 鵬, 阿里巴巴集團技術專家,在阿里巴巴中國網站技術部工作多年,曾擔任中國網站交易平臺架構師,主導了交易系統服務化工作,設計實現的數據遷移系統高效地完成了阿里巴巴中國網站交易數據到阿里巴巴集團的遷移工作。目前在阿里巴巴共享業務事業部從事Java應用容器Pandora和服務框架HSF的相關工作,其中Java應用容器Pandora是阿里巴巴中間件運行的基礎,而服務框架HSF則是阿里巴巴集團實現服務化的主要解決方案,二者在阿里巴巴擁有為廣泛的使用量。個人平時喜歡閱讀技術書籍,翻譯一些國外優秀文檔,喜歡總結、樂于分享,對Java應用容器、多線程編程以及分布式系統感興趣。 程曉明, 1號店資深架構師,從事1號店交易平臺系統的開發,技術上關注并發與NIO。因5年前遇到的一個線上故障,解決過程中對Java并發編程產生了濃厚的興趣,從此開始了漫長的探索之旅:從底層實現機制、內存模型到Java同步。縱觀我自己對Java并發的學習過程,是一個從高層到底層再到高層的一個反復迭代的過程,我估計很多讀者的學習過程應該與我類似。文章多見諸《IBM developerWorks》、InfoQ和《程序員》雜志。
- >
推拿
- >
朝聞道
- >
我從未如此眷戀人間
- >
回憶愛瑪儂
- >
月亮虎
- >
我與地壇
- >
二體千字文
- >
月亮與六便士