TOP
0
0
【23號簡體館日】限時三天領券享優惠!!
Java併發編程實戰(簡體書)
滿額折

Java併發編程實戰(簡體書)

人民幣定價:69 元
定  價:NT$ 414 元
優惠價:87360
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:10 點
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

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

作者簡介

本書作者都是Java Community Process JSR 166專家組(并發工具)的主要成員,并在其他很多JCP專家組里任職。Brian Goetz有20多年的軟件咨詢行業經驗,并著有至少75篇關于Java開發的文章。Tim Peierls是';現代多處理器';的典范,他在BoxPop.biz、唱片藝術和戲劇表演方面也頗有研究。Joseph Bowbeer是一個Java ME專家,他對并發編程的興趣始于Apollo計算機時代。David Holmes是《The Java Programming Language》一書的合著者,任職于Sun公司。Joshua Bloch是Google公司的首席Java架構師,《Effective Java》一書的作者,并參與著作了《Java Puzzlers》。Doug Lea是《Concurrent Programming》一書的作者,紐約州立大學 Oswego分校的計算機科學教授。

名人/編輯推薦

第16屆Jolt大獎提名圖書
JavaOne大會最暢銷圖書
了解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章 取消與關閉
第8章 線程池的使用
第9章 圖形用戶界面應用程序
第三部分 活躍性、性能與測試
第10章 避免活躍性危險
第11章 性能與可伸縮性
第12章 并發程序的測試
第四部分 高級主題
第13章 顯式鎖
第14章 構建自定義的同步工具
第15章 原子變量與非阻塞同步機制
第16章 Java內存模型
附錄A 并發性標注
參考文獻

書摘/試閱

并發編程是Java語言的重要特性之一,在Java平臺上提供了許多基本的并發功能來輔助開發多線程應用程序。然而,這些相對底層的并發功能與上層應用程序的并發語義之間并不存在一種簡單而直觀的映射關系。因此,如何在Java并發應用程序中正確且高效地使用這些功能就成了Java開發人員的關注重點。
本書正是為了解決這個問題而寫的。書中采用循序漸進的講解方式,從并發編程的基本理論入手,逐步介紹了在設計Java并發程序時各種重要的設計原則、設計模式以及思維模式,同時輔以豐富的示例代碼作為對照和補充,使得開發人員能夠更快地領悟Java并發編程的要領,圍繞著Java平臺的基礎并發功能快速地構建大規模的并發應用程序。
全書內容由淺入深,共分為四個部分。第一部分介紹了Java并發編程的基礎理論,包括線程安全性與狀態對象的基礎知識,如何構造線程安全的類并將多個小型的線程安全類構建成更大型的線程安全類,以及Java平臺庫中的一些基礎并發模塊;第二部分介紹了并發應用程序的構造理論,包括應用程序中并行語義的分解及其與邏輯任務的映射,任務的取消與關閉等行為的實現,以及Java線程池中的一些高級功能,此外還介紹了如何提高GUI應用程序的響應性;第三部分介紹了并發編程的性能調優,包括如何避免活躍性問題,如何提高并發代碼的性能和可伸縮性以獲得理想的性能,以及在測試并發代碼正確性和性能時的一些實用技術;第四部分介紹了Java并發編程中的一些高級主題,包括顯式鎖、原子變量、非阻塞算法以及如何開發自定義的同步工具類等。
本書的特點在于注重闡述并發技術背後的理論知識,對于每種技術的介紹不僅使讀者能做到';知其然';,更能做到';知其所以然';。對于希望深入研究和探索Java并發編程的讀者來說,本書是非常合適的。
參與本書翻譯工作的還有李楊、吳漢平、徐光景、童勝漢、陳軍、胡凱、劉紅、張瑋、陳紅、李斌、李勇濤、王海濤、周云波、彭敏才、張世鋒、朱介秋、宗敬、李靜、葉錦、高波、熊莉、程鳳、陳娟、胡世娟、董敏、謝路陽、馮卓、李志勇、胡歡、王進等。由于譯者的時間和水平有限,翻譯中的疏漏和錯誤在所難免,還望讀者和同行不吝指正。
......;

您曾經瀏覽過的商品

購物須知

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

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

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

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

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

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

暢銷榜

客服中心

收藏

會員專區