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

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

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

定 價(jià):¥59.00

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

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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

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

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

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

第三部分 軟件事務(wù)內(nèi)存
第6章 軟件事務(wù)內(nèi)存導(dǎo)論
6.1 同步與并發(fā)水火不容
6.2 對(duì)象模型的缺陷
6.3 將實(shí)體與狀態(tài)分離
6.4 軟件事務(wù)內(nèi)存
6.5 STM中的事務(wù)
6.6 用STM實(shí)現(xiàn)并發(fā)
6.7 用Akka/Multiverse STM實(shí)現(xiàn)并發(fā)
6.8 創(chuàng)建事務(wù)
6.9 創(chuàng)建嵌套事務(wù)
6.10 配置Akka事務(wù)
6.11 阻塞事務(wù)-有意識(shí)地等待
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 用角色實(shí)現(xiàn)隔離可變性
8.2 角色的特性
8.3 創(chuàng)建角色
8.4 收發(fā)消息
8.5 同時(shí)使用多個(gè)角色
8.6 多角色協(xié)作
8.7 使用類型化角色
8.8 類型化角色和murmurs
8.9 混合使用角色和STM
8.10 使用transactor
8.11 調(diào)和類型化角色
8.12 遠(yuǎn)程角色
8.13 基于角色模型的局限性
8.14 小結(jié)
第9章 在Groovy、Java、JRuby和Scala中使用角色
9.1 在Groovy中使用GPars提供的角色實(shí)現(xiàn)
9.2 在Java中使用Akka提供的角色實(shí)現(xiàn)
9.3 在JRuby中使用Akka提供的Actor實(shí)現(xiàn)
9.4 在Scala中使用角色
9.5 小結(jié)

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

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

本目錄推薦

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