東坡下載:內(nèi)容最豐富最安全的下載站!

幫助|文件類型庫(kù)|最新更新|下載分類|排行榜

桌面主題教育相關(guān)素材下載字體下載外語(yǔ)學(xué)習(xí)高考考研建筑圖集高考作文書法字體桌面壁紙CAD圖紙考研素材

首頁(yè)硬件驅(qū)動(dòng)硬件教程 → java并發(fā)編程實(shí)戰(zhàn)中文版 pdf高清完整版免費(fèi)下載

java并發(fā)編程實(shí)戰(zhàn)中文版

java并發(fā)編程實(shí)戰(zhàn)中文版pdf高清完整版免費(fèi)下載

  • 大。8.7M
  • 語(yǔ)言:中文
  • 平臺(tái):WinAll
  • 更新:2015-07-01 11:54
  • 等級(jí):
  • 類型:書集教程
  • 網(wǎng)站:http://m.tipsywinegypsy.com
  • 授權(quán):免費(fèi)軟件
  • 廠商:
  • 產(chǎn)地:國(guó)產(chǎn)軟件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
軟件介紹軟件截圖相關(guān)軟件軟件教程網(wǎng)友評(píng)論下載地址

由于java平臺(tái)提供的功能與我們?cè)陂_(kāi)發(fā)時(shí)需要的并發(fā)語(yǔ)義并不對(duì)等,所以本書從設(shè)計(jì)的策略和使用模式的層次得出的一些場(chǎng)景下的最佳實(shí)踐,是具有權(quán)威和極具使用價(jià)值的參考。 

java并發(fā)編程實(shí)戰(zhàn)深入淺出地介紹了Java線程和并發(fā),是一本完美的Java并發(fā)參考手冊(cè)。書中從并發(fā)性和線程安全性的基本概念出發(fā),介紹了如何使用類庫(kù)提供的基本并發(fā)構(gòu)建塊,用于避免并發(fā)危險(xiǎn)、構(gòu)造線程安全的類及驗(yàn)證線程安全的規(guī)則,如何將小的線程安全類組合成更大的線程安全類,如何利用線程來(lái)提高并發(fā)應(yīng)用程序的吞吐量,如何識(shí)別可并行執(zhí)行的任務(wù),如何提高單線程子系統(tǒng)的響應(yīng)性,如何確保并發(fā)程序執(zhí)行預(yù)期任務(wù),如何提高并發(fā)代碼的性能和可伸縮性等內(nèi)容,最后介紹了一些高級(jí)主題,如顯式鎖、原子變量、非阻塞算法以及如何開(kāi)發(fā)自定義的同步工具類。

java并發(fā)編程實(shí)戰(zhàn)目錄

對(duì)本書的贊譽(yù)

譯者序

前 言

第1章 簡(jiǎn)介

 1.1 并發(fā)簡(jiǎn)史

 1.2 線程的優(yōu)勢(shì)

  1.2.1 發(fā)揮多處理器的強(qiáng)大能力

  1.2.2 建模的簡(jiǎn)單性

  1.2.3 異步事件的簡(jiǎn)化處理

  1.2.4 響應(yīng)更靈敏的用戶界面

 1.3 線程帶來(lái)的風(fēng)險(xiǎn)

  1.3.1 安全性問(wèn)題

  1.3.2 活躍性問(wèn)題

  1.3.3 性能問(wèn)題

 1.4 線程無(wú)處不在

第一部分 基礎(chǔ)知識(shí)

 第2章 線程安全性

  2.1 什么是線程安全性

  2.2 原子性

   2.2.1 競(jìng)態(tài)條件

   2.2.2 示例:延遲初始化中的競(jìng)態(tài)條件

   2.2.3 復(fù)合操作

  2.3 加鎖機(jī)制

   2.3.1 內(nèi)置鎖

   2.3.2 重入

  2.4 用鎖來(lái)保護(hù)狀態(tài)

  2.5 活躍性與性能

 第3章 對(duì)象的共享

  3.1 可見(jiàn)性

   3.1.1 失效數(shù)據(jù)

   3.1.2 非原子的64位操作

   3.1.3 加鎖與可見(jiàn)性

   3.1.4 Volatile變量

  3.2 發(fā)布與逸出

  3.3 線程封閉

   3.3.1 Ad-hoc線程封閉

   3.3.2 棧封閉

   3.3.3 ThreadLocal類

  3.4 不變性

   3.4.1 Final域

   3.4.2 示例:使用Volatile類型來(lái)發(fā)布不可變對(duì)象

  3.5 安全發(fā)布

   3.5.1 不正確的發(fā)布:正確的對(duì)象被破壞

   3.5.2  不可變對(duì)象與初始化安全性

   3.5.3 安全發(fā)布的常用模式

   3.5.4 事實(shí)不可變對(duì)象

   3.5.5 可變對(duì)象

   3.5.6 安全地共享對(duì)象

 第4章 對(duì)象的組合

  4.1 設(shè)計(jì)線程安全的類

   4.1.1 收集同步需求

   4.1.2 依賴狀態(tài)的操作

   4.1.3 狀態(tài)的所有權(quán)

  4.2 實(shí)例封閉

   4.2.1 Java監(jiān)視器模式

   4.2.2 示例:車輛追蹤

  4.3 線程安全性的委托

   4.3.1 示例:基于委托的車輛追蹤器

   4.3.2 獨(dú)立的狀態(tài)變量

   4.3.3 當(dāng)委托失效時(shí)

   4.3.4 發(fā)布底層的狀態(tài)變量

   4.3.5 示例:發(fā)布狀態(tài)的車輛追蹤器

  4.4 在現(xiàn)有的線程安全類中添加功能

   4.4.1 客戶端加鎖機(jī)制

   4.4.2 組合

  4.5 將同步策略文檔化

 第5章 基礎(chǔ)構(gòu)建模塊

  5.1 同步容器類

   5.1.1 同步容器類的問(wèn)題

   5.1.2 迭代器與Concurrent-ModificationException

   5.1.3 隱藏迭代器

  5.2 并發(fā)容器

   5.2.1 ConcurrentHashMap

   5.2.2 額外的原子Map操作

   5.2.3 CopyOnWriteArrayList

  5.3 阻塞隊(duì)列和生產(chǎn)者-消費(fèi)者模式

   5.3.1 示例:桌面搜索

   5.3.2 串行線程封閉

   5.3.3 雙端隊(duì)列與工作密取

  5.4 阻塞方法與中斷方法

  5.5 同步工具類

   5.5.1 閉鎖

   5.5.2 FutureTask

   5.5.3 信號(hào)量

   5.5.4 柵欄

  5.6 構(gòu)建高效且可伸縮的結(jié)果緩存

第二部分 結(jié)構(gòu)化并發(fā)應(yīng)用程序

 第6章 任務(wù)執(zhí)行

  6.1 在線程中執(zhí)行任務(wù)

   6.1.1 串行地執(zhí)行任務(wù)

   6.1.2 顯式地為任務(wù)創(chuàng)建線程

   6.1.3 無(wú)限制創(chuàng)建線程的不足

  6.2 Executor框架

   6.2.1 示例:基于Executor的Web服務(wù)器

   6.2.2 執(zhí)行策略

   6.2.3 線程池

   6.2.4 Executor的生命周期

   6.2.5 延遲任務(wù)與周期任務(wù)

  6.3 找出可利用的并行性

   6.3.1 示例:串行的頁(yè)面渲染器

   6.3.2 攜帶結(jié)果的任務(wù)Callable與Future

   6.3.3 示例:使用Future實(shí)現(xiàn)頁(yè)面渲染器

   6.3.4 在異構(gòu)任務(wù)并行化中存在的局限

   6.3.5 CompletionService:Executor與BlockingQueue

   6.3.6 示例:使用CompletionService實(shí)現(xiàn)頁(yè)面渲染器

   6.3.7 為任務(wù)設(shè)置時(shí)限

   6.3.8 示例:旅行預(yù)定門戶網(wǎng)

 第7章 取消與關(guān)閉

  7.1 任務(wù)取消

   7.1.1 中斷

   7.1.2 中斷策略

   7.1.3 響應(yīng)中斷

   7.1.4 示例:計(jì)時(shí)運(yùn)行

   7.1.5 通過(guò)Future來(lái)實(shí)現(xiàn)取消

   7.1.6 處理不可中斷的阻塞

   7.1.7 采用newTaskFor來(lái)封裝非標(biāo)準(zhǔn)的取消

  7.2 停止基于線程的服務(wù)

   7.2.1 示例:日志服務(wù)

   7.2.2 關(guān)閉ExecutorService

   7.2.3 “毒丸”對(duì)象

   7.2.4 示例:只執(zhí)行一次的服務(wù)

   7.2.5 shutdownNow的局限性

  7.3 處理非正常的線程終止

  7.4 JVM關(guān)閉

   7.4.1 關(guān)閉鉤子

   7.4.2 守護(hù)線程

   7.4.3 終結(jié)器

 第8章 線程池的使用

  8.1 在任務(wù)與執(zhí)行策略之間的隱性耦合

   8.1.1 線程饑餓死鎖

   8.1.2 運(yùn)行時(shí)間較長(zhǎng)的任務(wù)

  8.2 設(shè)置線程池的大小

  8.3 配置ThreadPoolExecutor

   8.3.1 線程的創(chuàng)建與銷毀

   8.3.2 管理隊(duì)列任務(wù)

   8.3.3 飽和策略

   8.3.4 線程工廠

   8.3.5 在調(diào)用構(gòu)造函數(shù)后再定制ThreadPoolExecutor

  8.4 擴(kuò)展 ThreadPoolExecutor

  8.5 遞歸算法的并行化

 第9章 圖形用戶界面應(yīng)用程序

  9.1 為什么GUI是單線程的

   9.1.1 串行事件處理

   9.1.2 Swing中的線程封閉機(jī)制

  9.2 短時(shí)間的GUI任務(wù)

  9.3 長(zhǎng)時(shí)間的GUI任務(wù)

   9.3.1 取消

   9.3.2 進(jìn)度標(biāo)識(shí)和完成標(biāo)識(shí)

   9.3.3 SwingWorker

  9.4 共享數(shù)據(jù)模型

   9.4.1 線程安全的數(shù)據(jù)模型

   9.4.2 分解數(shù)據(jù)模型

   9.5 其他形式的單線程子系統(tǒng)

第三部分 活躍性、性能與測(cè)試

 第10章 避免活躍性危險(xiǎn)

  10.1 死鎖

   10.1.1 鎖順序死鎖

   10.1.2 動(dòng)態(tài)的鎖順序死鎖

   10.1.3 在協(xié)作對(duì)象之間發(fā)生的死鎖

   10.1.4 開(kāi)放調(diào)用

   10.1.5 資源死鎖

  10.2 死鎖的避免與診斷

   10.2.1 支持定時(shí)的鎖

   10.2.2 通過(guò)線程轉(zhuǎn)儲(chǔ)信息來(lái)分析死鎖

  10.3 其他活躍性危險(xiǎn)

   10.3.1 饑餓

   10.3.2 糟糕的響應(yīng)性

   10.3.3 活鎖

 第11章 性能與可伸縮性

  11.1 對(duì)性能的思考

   11.1.1 性能與可伸縮性

   11.1.2 評(píng)估各種性能權(quán)衡因素

  11.2 Amdahl定律

   11.2.1 示例:在各種框架中隱藏的串行部分

   11.2.2 Amdahl定律的應(yīng)用

  11.3 線程引入的開(kāi)銷

   11.3.1 上下文切換

   11.3.2 內(nèi)存同步

   11.3.3 阻塞

  11.4 減少鎖的競(jìng)爭(zhēng)

   11.4.1 縮小鎖的范圍(“快進(jìn)快出”)

   11.4.2 減小鎖的粒度

   11.4.3 鎖分段

   11.4.4 避免熱點(diǎn)域

   11.4.5 一些替代獨(dú)占鎖的方法

   11.4.6 監(jiān)測(cè)CPU的利用率

   11.4.7 向?qū)ο蟪卣f(shuō)“不”

  11.5 示例:比較Map的性能

  11.6 減少上下文切換的開(kāi)銷

 第12章 并發(fā)程序的測(cè)試

  12.1 正確性測(cè)試

   12.1.1 基本的單元測(cè)試

   12.1.2 對(duì)阻塞操作的測(cè)試

   12.1.3 安全性測(cè)試

   12.1.4 資源管理的測(cè)試

   12.1.5 使用回調(diào)

   12.1.6 產(chǎn)生更多的交替操作

  12.2 性能測(cè)試

   12.2.1 在PutTakeTest中增加計(jì)時(shí)功能

   12.2.2 多種算法的比較

   12.2.3 響應(yīng)性衡量

  12.3 避免性能測(cè)試的陷阱

   12.3.1 垃圾回收

   12.3.2 動(dòng)態(tài)編譯

   12.3.3 對(duì)代碼路徑的不真實(shí)采樣

   12.3.4 不真實(shí)的競(jìng)爭(zhēng)程度

   12.3.5 無(wú)用代碼的消除

  12.4 其他的測(cè)試方法

   12.4.1 代碼審查

   12.4.2 靜態(tài)分析工具

   12.4.3 面向方面的測(cè)試技術(shù)

   12.4.4 分析與監(jiān)測(cè)工具

第四部分 高級(jí)主題

 第13章 顯式鎖

  13.1 Lock與 ReentrantLock

   13.1.1 輪詢鎖與定時(shí)鎖

   13.1.2 可中斷的鎖獲取操作

   13.1.3 非塊結(jié)構(gòu)的加鎖

  13.2 性能考慮因素

  13.3 公平性

  13.4 在synchronized和ReentrantLock之間進(jìn)行選擇

  13.5 讀-寫鎖

 第14章 構(gòu)建自定義的同步工具

  14.1 狀態(tài)依賴性的管理

   14.1.1 示例:將前提條件的失敗傳遞給調(diào)用者

   14.1.2 示例:通過(guò)輪詢與休眠來(lái)實(shí)現(xiàn)簡(jiǎn)單的阻塞

   14.1.3 條件隊(duì)列

  14.2 使用條件隊(duì)列

   14.2.1 條件謂詞

   14.2.2 過(guò)早喚醒

   14.2.3 丟失的信號(hào)

   14.2.4 通知

   14.2.5 示例:閥門類

   14.2.6 子類的安全問(wèn)題

   14.2.7 封裝條件隊(duì)列

   14.2.8 入口協(xié)議與出口協(xié)議

  14.3 顯式的Condition對(duì)象

  14.4 Synchronizer剖析

  14.5 AbstractQueuedSynchronizer

  14.6 java.util.concurrent同步器類中的 AQS

   14.6.1 ReentrantLock

   14.6.2 Semaphore與CountDownLatch

   14.6.3 FutureTask

   14.6.4 ReentrantReadWriteLock

 第15章 原子變量與非阻塞同步機(jī)制

  15.1 鎖的劣勢(shì)

  15.2 硬件對(duì)并發(fā)的支持

   15.2.1 比較并交換

   15.2.2 非阻塞的計(jì)數(shù)器

   15.2.3 JVM對(duì)CAS的支持

  15.3 原子變量類

   15.3.1 原子變量是一種“更好的volatile”

   15.3.2 性能比較:鎖與原子變量

  15.4 非阻塞算法

   15.4.1 非阻塞的棧

   15.4.2 非阻塞的鏈表

   15.4.3 原子的域更新器

   15.4.4 ABA問(wèn)題

 第16章 Java內(nèi)存模型

  16.1 什么是內(nèi)存模型,為什么需要它

   16.1.1 平臺(tái)的內(nèi)存模型

   16.1.2 重排序

   16.1.3 Java內(nèi)存模型簡(jiǎn)介

   16.1.4 借助同步

  16.2 發(fā)布

   16.2.1 不安全的發(fā)布

   16.2.2 安全的發(fā)布

   16.2.3 安全初始化模式

   16.2.4 雙重檢查加鎖

  16.3 初始化過(guò)程中的安全性

附錄A 并發(fā)性標(biāo)注

參考文獻(xiàn)

java并發(fā)編程實(shí)戰(zhàn)節(jié)選

PC官方
安卓官方手機(jī)版
IOS官方手機(jī)版

java并發(fā)編程實(shí)戰(zhàn)中文版截圖

下載地址

java并發(fā)編程實(shí)戰(zhàn)中文版 pdf高清完整版免費(fèi)下載

熱門評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)

編輯推薦

本類軟件排行

報(bào)錯(cuò)

請(qǐng)簡(jiǎn)要描述您遇到的錯(cuò)誤,我們將盡快予以修正。

轉(zhuǎn)帖到論壇
輪壇轉(zhuǎn)帖HTML方式

輪壇轉(zhuǎn)帖UBB方式