Java知識分享網 - 輕松學習從此開始!????

Java知識分享網

Java1234官方群25:java1234官方群25
Java1234官方群25:838462530
        

GIT視頻教程(結合github,碼云)免費領取

SpringBoot打造全棧在線教育平臺實戰課程

畢設代做論文包查重聯系人QQ:1982956321畢設大神

66套java實戰課程無套路領取

Java1234 VIP課程

領取微信掃碼登錄Java實現視頻教程

Java1234至尊VIP(特價活動)
當前位置: 主頁 > Java文檔 > Java基礎相關 >

《Java并發編程實戰》PDF 下載


分享到:
時間:2013-08-25 18:43來源:https://download.csdn.net/ 作者:轉載  侵權舉報
《Java并發編程實戰》PDF 下載
失效鏈接處理
《Java并發編程實戰》PDF 下載

轉載自:https://download.csdn.net/download/jick5201314/10155222

本站整理下載:

版權歸出版社和原作者所有,鏈接已刪除,請購買正版
 
用戶下載說明:
電子版僅供預覽,下載后24小時內務必刪除,支持正版,喜歡的請購買正版書籍:
http://product.dangdang.com/22606835.html


下載地址:

圖書簡介:
本書深入淺出地介紹了Java線程和并發,是一本完美的Java并發參考手冊。書中從并發性和線程安全性的基本概念出發,介紹了如何使用類庫提供的基本并發構建塊,用于避免并發危險、構造線程安全的類及驗證線程安全的規則,如何將小的線程安全類組合成更大的線程安全類,如何利用線程來提高并發應用程序的吞吐量,如何識別可并行執行的任務,如何提高單線程子系統的響應性,如何確保并發程序執行預期任務,如何提高并發代碼的性能和可伸縮性等內容,最后介紹了一些高級主題,如顯式鎖、原子變量、非阻塞算法以及如何開發自定義的同步工具類。
  本書適合Java程序開發人員閱讀。

相關截圖:


圖書目錄:

對本書的贊譽
譯者序
前 言
第1章 簡介
 1.1 并發簡史
 1.2 線程的優勢
  1.2.1 發揮多處理器的強大能力
  1.2.2 建模的簡單性
  1.2.3 異步事件的簡化處理
  1.2.4 響應更靈敏的用戶界面
 1.3 線程帶來的風險
  1.3.1 安全性問題
  1.3.2 活躍性問題
  1.3.3 性能問題
 1.4 線程無處不在
第一部分 基礎知識
 第2章 線程安全性
  2.1 什么是線程安全性
  2.2 原子性
   2.2.1 競態條件
   2.2.2 示例:延遲初始化中的競態條件
   2.2.3 復合操作
  2.3 加鎖機制
   2.3.1 內置鎖
   2.3.2 重入
  2.4 用鎖來保護狀態
  2.5 活躍性與性能
 第3章 對象的共享
  3.1 可見性
   3.1.1 失效數據
   3.1.2 非原子的64位操作
   3.1.3 加鎖與可見性
   3.1.4 Volatile變量
  3.2 發布與逸出
  3.3 線程封閉
   3.3.1 Ad-hoc線程封閉
   3.3.2 棧封閉
   3.3.3 ThreadLocal類
  3.4 不變性
   3.4.1 Final域
   3.4.2 示例:使用Volatile類型來發布不可變對象
  3.5 安全發布
   3.5.1 不正確的發布:正確的對象被破壞
   3.5.2  不可變對象與初始化安全性
   3.5.3 安全發布的常用模式
   3.5.4 事實不可變對象
   3.5.5 可變對象
   3.5.6 安全地共享對象
 第4章 對象的組合
  4.1 設計線程安全的類
   4.1.1 收集同步需求
   4.1.2 依賴狀態的操作
   4.1.3 狀態的所有權
  4.2 實例封閉
   4.2.1 Java監視器模式
   4.2.2 示例:車輛追蹤
  4.3 線程安全性的委托
   4.3.1 示例:基于委托的車輛追蹤器
   4.3.2 獨立的狀態變量
   4.3.3 當委托失效時
   4.3.4 發布底層的狀態變量
   4.3.5 示例:發布狀態的車輛追蹤器
  4.4 在現有的線程安全類中添加功能
   4.4.1 客戶端加鎖機制
   4.4.2 組合
  4.5 將同步策略文檔化
 第5章 基礎構建模塊
  5.1 同步容器類
   5.1.1 同步容器類的問題
   5.1.2 迭代器與Concurrent-ModificationException
   5.1.3 隱藏迭代器
  5.2 并發容器
   5.2.1 ConcurrentHashMap
   5.2.2 額外的原子Map操作
   5.2.3 CopyOnWriteArrayList
  5.3 阻塞隊列和生產者-消費者模式
   5.3.1 示例:桌面搜索
   5.3.2 串行線程封閉
   5.3.3 雙端隊列與工作密取
  5.4 阻塞方法與中斷方法
  5.5 同步工具類
   5.5.1 閉鎖
   5.5.2 FutureTask
   5.5.3 信號量
   5.5.4 柵欄
  5.6 構建高效且可伸縮的結果緩存
第二部分 結構化并發應用程序
 第6章 任務執行
  6.1 在線程中執行任務
   6.1.1 串行地執行任務
   6.1.2 顯式地為任務創建線程
   6.1.3 無限制創建線程的不足
  6.2 Executor框架
   6.2.1 示例:基于Executor的Web服務器
   6.2.2 執行策略
   6.2.3 線程池
   6.2.4 Executor的生命周期
   6.2.5 延遲任務與周期任務
  6.3 找出可利用的并行性
   6.3.1 示例:串行的頁面渲染器
   6.3.2 攜帶結果的任務Callable與Future
   6.3.3 示例:使用Future實現頁面渲染器
   6.3.4 在異構任務并行化中存在的局限
   6.3.5 CompletionService:Executor與BlockingQueue
   6.3.6 示例:使用CompletionService實現頁面渲染器
   6.3.7 為任務設置時限
   6.3.8 示例:旅行預定門戶網站
 第7章 取消與關閉
  7.1 任務取消
   7.1.1 中斷
   7.1.2 中斷策略
   7.1.3 響應中斷
   7.1.4 示例:計時運行
   7.1.5 通過Future來實現取消
   7.1.6 處理不可中斷的阻塞
   7.1.7 采用newTaskFor來封裝非標準的取消
  7.2 停止基于線程的服務
   7.2.1 示例:日志服務
   7.2.2 關閉ExecutorService
   7.2.3 “毒丸”對象
   7.2.4 示例:只執行一次的服務
   7.2.5 shutdownNow的局限性
  7.3 處理非正常的線程終止
  7.4 JVM關閉
   7.4.1 關閉鉤子
   7.4.2 守護線程
   7.4.3 終結器
 第8章 線程池的使用
  8.1 在任務與執行策略之間的隱性耦合
   8.1.1 線程饑餓死鎖
   8.1.2 運行時間較長的任務
  8.2 設置線程池的大小
  8.3 配置ThreadPoolExecutor
   8.3.1 線程的創建與銷毀
   8.3.2 管理隊列任務
   8.3.3 飽和策略
   8.3.4 線程工廠
   8.3.5 在調用構造函數后再定制ThreadPoolExecutor
  8.4 擴展 ThreadPoolExecutor
  8.5 遞歸算法的并行化
 第9章 圖形用戶界面應用程序
  9.1 為什么GUI是單線程的
   9.1.1 串行事件處理
   9.1.2 Swing中的線程封閉機制
  9.2 短時間的GUI任務
  9.3 長時間的GUI任務
   9.3.1 取消
   9.3.2 進度標識和完成標識
   9.3.3 SwingWorker
  9.4 共享數據模型
   9.4.1 線程安全的數據模型
   9.4.2 分解數據模型
   9.5 其他形式的單線程子系統
第三部分 活躍性、性能與測試
 第10章 避免活躍性危險
  10.1 死鎖
   10.1.1 鎖順序死鎖
   10.1.2 動態的鎖順序死鎖
   10.1.3 在協作對象之間發生的死鎖
   10.1.4 開放調用
   10.1.5 資源死鎖
  10.2 死鎖的避免與診斷
   10.2.1 支持定時的鎖
   10.2.2 通過線程轉儲信息來分析死鎖
  10.3 其他活躍性危險
   10.3.1 饑餓
   10.3.2 糟糕的響應性
   10.3.3 活鎖
 第11章 性能與可伸縮性
  11.1 對性能的思考
   11.1.1 性能與可伸縮性
   11.1.2 評估各種性能權衡因素
  11.2 Amdahl定律
   11.2.1 示例:在各種框架中隱藏的串行部分
   11.2.2 Amdahl定律的應用
  11.3 線程引入的開銷
   11.3.1 上下文切換
   11.3.2 內存同步
   11.3.3 阻塞
  11.4 減少鎖的競爭
   11.4.1 縮小鎖的范圍(“快進快出”)
   11.4.2 減小鎖的粒度
   11.4.3 鎖分段
   11.4.4 避免熱點域
   11.4.5 一些替代獨占鎖的方法
   11.4.6 監測CPU的利用率
   11.4.7 向對象池說“不”
  11.5 示例:比較Map的性能
  11.6 減少上下文切換的開銷
 第12章 并發程序的測試
  12.1 正確性測試
   12.1.1 基本的單元測試
   12.1.2 對阻塞操作的測試
   12.1.3 安全性測試
   12.1.4 資源管理的測試
   12.1.5 使用回調
   12.1.6 產生更多的交替操作
  12.2 性能測試
   12.2.1 在PutTakeTest中增加計時功能
   12.2.2 多種算法的比較
   12.2.3 響應性衡量
  12.3 避免性能測試的陷阱
   12.3.1 垃圾回收
   12.3.2 動態編譯
   12.3.3 對代碼路徑的不真實采樣
   12.3.4 不真實的競爭程度
   12.3.5 無用代碼的消除
  12.4 其他的測試方法
   12.4.1 代碼審查
   12.4.2 靜態分析工具
   12.4.3 面向方面的測試技術
   12.4.4 分析與監測工具
第四部分 高級主題
 第13章 顯式鎖
  13.1 Lock與 ReentrantLock
   13.1.1 輪詢鎖與定時鎖
   13.1.2 可中斷的鎖獲取操作
   13.1.3 非塊結構的加鎖
  13.2 性能考慮因素
  13.3 公平性
  13.4 在synchronized和ReentrantLock之間進行選擇
  13.5 讀-寫鎖
 第14章 構建自定義的同步工具
  14.1 狀態依賴性的管理
   14.1.1 示例:將前提條件的失敗傳遞給調用者
   14.1.2 示例:通過輪詢與休眠來實現簡單的阻塞
   14.1.3 條件隊列
  14.2 使用條件隊列
   14.2.1 條件謂詞
   14.2.2 過早喚醒
   14.2.3 丟失的信號
   14.2.4 通知
   14.2.5 示例:閥門類
   14.2.6 子類的安全問題
   14.2.7 封裝條件隊列
   14.2.8 入口協議與出口協議
  14.3 顯式的Condition對象
  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章 原子變量與非阻塞同步機制
  15.1 鎖的劣勢
  15.2 硬件對并發的支持
   15.2.1 比較并交換
   15.2.2 非阻塞的計數器
   15.2.3 JVM對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問題
 第16章 Java內存模型
  16.1 什么是內存模型,為什么需要它
   16.1.1 平臺的內存模型
   16.1.2 重排序
   16.1.3 Java內存模型簡介
   16.1.4 借助同步
  16.2 發布
   16.2.1 不安全的發布
   16.2.2 安全的發布
   16.2.3 安全初始化模式
   16.2.4 雙重檢查加鎖
  16.3 初始化過程中的安全性
附錄A 并發性標注
參考文獻

------分隔線----------------------------
鋒哥公眾號


鋒哥微信


關注公眾號
【Java資料站】
回復 666
獲取 
66套java
從菜雞到大神
項目實戰課程
电子游戏英文 著名股票分析师排名 今晚特马图开奖结果 查询 吉林体彩11选5走势图 天津快乐10分推荐号 博彩e族首页 河北燕赵20选5开奖结果今天 15人百家乐台布 股票怎么赚钱 快3湖北 娱乐电玩城大全