注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計JAVA及其相關(guān)Java虛擬機并發(fā)編程

Java虛擬機并發(fā)編程

Java虛擬機并發(fā)編程

定 價:¥59.00

作 者: Venkat Subramaniam 著
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: Java Java Script J2EE 程序設(shè)計 計算機/網(wǎng)絡(luò)

ISBN: 9787111418931 出版時間: 2013-05-01 包裝: 平裝
開本: 16開 頁數(shù): 215 字數(shù):  

內(nèi)容簡介

  本書是Java并發(fā)編程領(lǐng)域的里程碑之作,由資深Java技術(shù)專家、并發(fā)編程專家、敏捷開發(fā)專家和Jolt大獎得主撰寫,Amazon五星級暢銷書。它系統(tǒng)深入地講解在JVM平臺上如何利用JDK同步模型、軟件事務(wù)內(nèi)存模型和基于角色的并發(fā)模型更好地進行并發(fā)編程。全書以示例驅(qū)動,通俗易懂,包含大量編程技巧、注意事項和最佳實踐。要重點強調(diào)的是,本書并不僅僅只適合于Java語言的并發(fā)編程,它還適用于Clojure、Groovy、JRuby和Scala等所有運行在JVM平臺上的編程語言。本書共10章,分為五個部分。第一部分:并發(fā)策略,闡釋了影響并發(fā)性的因素、如何有效實現(xiàn)并發(fā),以及并發(fā)的設(shè)計方法等;第二部分:現(xiàn)代Java/JDK并發(fā),討論了現(xiàn)代JavaAPI的線程安全和效率,以及如何處理已有應(yīng)用程序中的現(xiàn)實問題和重構(gòu)遺留代碼時的原則;第三部分:軟件事務(wù)內(nèi)存,深入討論了STM并就如何在各種主要的JVM語言里使用STM給出了指導(dǎo)意見;第四部分:基于角色的并發(fā),詳細講解了如何在基于角色的模型下消除并發(fā)問題以及如何在自己的首選語言中使用角色模型;第五部分:后記,回顧了本書討論的解決方案并總結(jié)了并發(fā)編程中的注意事項和最佳實踐。

作者簡介

  作者簡介VenkatSubramaniam 資深Java技術(shù)專家、并發(fā)編程專家和敏捷技術(shù)專家,擁有超過20年的軟件開發(fā)經(jīng)驗,在Java領(lǐng)域(整個Java平臺)、敏捷開發(fā)領(lǐng)域有非常深入的研究,并進行了大量實踐。他是AgileDeveloper公司創(chuàng)始人,在美洲、歐洲和亞洲等多個國家和地區(qū)開展培訓(xùn)和指導(dǎo)工作,已經(jīng)幫助數(shù)以千計的軟件開發(fā)人員成功地在其軟件項目中運用敏捷方法。他經(jīng)常受邀在大型國際軟件會議和用戶組活動中發(fā)表技術(shù)演講,深受歡迎。他著作頗豐,先后獨自撰寫了《.NETGotchas》、《Programming Groovy》、《ProgrammingScala》等經(jīng)典著作,尤為值得一提的是,他與人合著的《Practices of an AgileDeveloper》一書獲得了2007年的Jolt生產(chǎn)力大獎。譯者簡介薛笛 資深軟件開發(fā)工程師,精通分布式系統(tǒng)開發(fā)和Java相關(guān)技術(shù),對JVM有深入的研究。目前就職于騰訊公司,擔(dān)任高級開發(fā)工程師,負責(zé)手機QQ、手機Qzone等應(yīng)用的后臺開發(fā)。熱衷于技術(shù)分享,在《程序員》雜志和IBMDevelopers Work上發(fā)表過多篇技術(shù)文章,CSDN博客專家。

圖書目錄

譯者序
前言
第1章 并發(fā)的威力與風(fēng)險
1.1 線程:程序的執(zhí)行流程
1.2 并發(fā)的威力
1.3 并發(fā)的風(fēng)險
1.4 小結(jié)

第一部分 并發(fā)策略
第2章 分工原則
2.1 從順序到并發(fā)
2.2 在IO密集型應(yīng)用程序中使用并發(fā)技術(shù)
2.3 并發(fā)方法對IO密集型應(yīng)用程序的加速效果
2.4 在計算密集型應(yīng)用程序中使用并發(fā)技術(shù)
2.5 并發(fā)方法對于計算密集型應(yīng)用程序的加速效果
2.6 有效的并發(fā)策略
2.7 小結(jié)
第3章 設(shè)計方法
3.1 處理狀態(tài)
3.2 探尋設(shè)計選項
3.3 共享可變性設(shè)計
3.4 隔離可變性設(shè)計
3.5 純粹不可變性設(shè)計
3.6 持久的/不可變的數(shù)據(jù)結(jié)構(gòu)
3.7 選擇一種設(shè)計方法
3.8 小結(jié)

第二部分 現(xiàn)代Java/JDK并發(fā)模型
第4章 可擴展性和線程安全
4.1 用ExecutorService管理線程
4.2 使線程協(xié)作
4.3 數(shù)據(jù)交換
4.4 Java 7 Fork-Join API
4.5 可擴展集合類
4.6 Lock和Synchronized
4.7 小結(jié)
第5章 馴服共享可變性
5.1 共享可變性 != Public
5.2 定位并發(fā)問題
5.3 保持不變式
5.4 管理好資源
5.5 保證可見性
5.6 增強并發(fā)性
5.7 保證原子性
5.8 小結(jié)

第三部分 軟件事務(wù)內(nèi)存
第6章 軟件事務(wù)內(nèi)存導(dǎo)論
6.1 同步與并發(fā)水火不容
6.2 對象模型的缺陷
6.3 將實體與狀態(tài)分離
6.4 軟件事務(wù)內(nèi)存
6.5 STM中的事務(wù)
6.6 用STM實現(xiàn)并發(fā)
6.7 用Akka/Multiverse STM實現(xiàn)并發(fā)
6.8 創(chuàng)建事務(wù)
6.9 創(chuàng)建嵌套事務(wù)
6.10 配置Akka事務(wù)
6.11 阻塞事務(wù)-有意識地等待
6.12 提交和回滾事件
6.13 集合與事務(wù)
6.14 處理寫偏斜異常
6.15 STM的局限性
6.16 小結(jié)
第7章 在Clojure、Groovy、Java、JRuby和Scala中使用STM
7.1 Clojure STM
7.2 Groovy集成
7.3 Java集成
7.4 JRuby集成
7.5 Scala中的可選方案
7.6 小結(jié)

第四部分 基于角色的并發(fā)模型
第8章 討喜的隔離可變性
8.1 用角色實現(xiàn)隔離可變性
8.2 角色的特性
8.3 創(chuàng)建角色
8.4 收發(fā)消息
8.5 同時使用多個角色
8.6 多角色協(xié)作
8.7 使用類型化角色
8.8 類型化角色和murmurs
8.9 混合使用角色和STM
8.10 使用transactor
8.11 調(diào)和類型化角色
8.12 遠程角色
8.13 基于角色模型的局限性
8.14 小結(jié)
第9章 在Groovy、Java、JRuby和Scala中使用角色
9.1 在Groovy中使用GPars提供的角色實現(xiàn)
9.2 在Java中使用Akka提供的角色實現(xiàn)
9.3 在JRuby中使用Akka提供的Actor實現(xiàn)
9.4 在Scala中使用角色
9.5 小結(jié)

第五部分 后記
第10章 并發(fā)編程之禪
10.1 慎重選擇
10.2 并發(fā):程序員指南
10.3 并發(fā):架構(gòu)師指南
10.4 明智地進行選擇

附錄1 Clojure agent
附錄2 一些網(wǎng)絡(luò)資源
參考文獻

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號