先不谈本书的内容如何,光书名就足够吸引不少目光。“并发”这个词在Java世界里往往和“高级、核心”等字眼相联系起来,就冲着这两个字,都将勾起软件工程师们埋藏在心底那种对技术的探索欲和对高级API的驾驭感。程序员嘛,多少都有点职业病。其实Java对“并发”优化从未停止过,从5.0到7.0,几乎每个版本的新特性里,都会针对前一版本在“并发”上有所改进。这种改进包括提供更丰富的API接口、JVM底层性能优化等诸多方面。然而笔者认为,在Java“并发”史上最具有划时代意义的一个里程碑,就是java.util.concurrent包的出现,这个随着Java5.0版本一起发布的我们称之为“Java并发包”的新类库,在很大程度上让Java程序员编写多线程并发代码,变得像写传统的CRUD代码一样简单,让程序员从需要自己管理多线程的噩梦中解放出来。这组API的发布,也实现了Java在并发领域的逆袭。 本书就是围绕这些知识点展开。 老实说,这不是一本入门书。首先,能流畅的阅读本书,需要一定的门槛。包括基于对Java线程基础知识的了解,以及对并发包一些常用API的了解,这点我相信很多有一定工作年限的程序员,都具备了。其次,是要有强大的理解能力,在童云兰(本书译者之一)的带领下,组成了多达31人的翻译团队,对本书进行翻译。如此强大阵容来翻译一本只有16个章节不到300页的书,只能用“奢侈”二字来形容。而他们也没有辜负期望,成功的把这本书翻译得晦涩难懂。就像你刚刚花三个小时下载了一部十几个G的高清版美国好莱坞史诗大片,打开一看却发现其实是一个家伙用手持家用摄影机在电影院里对着屏幕偷拍的国语发音的TS枪版。这种感觉好像吃进了一只苍蝇,至今在我心中挥之不去。 如此烂的翻译,在一定程度上毁了本书,本以为就我有这种感觉,后来到豆瓣上一查,发现大家对本书的翻译水平也是怨声载道。毕竟都是花钱买的,而且书的价格还不菲。不知道这些译者有没有上豆瓣去拜读一下大家对他们的评价。如果他们其中有人看到了读者的反馈,会不会考虑在再版的时候,把自己的名字,从书里去掉。 书的行文结构,完全符合老外的写作风格。复杂的理论、简单的例子。本书分四个部分,之所以这样编排,译者在序里提到,是一个由浅入深、循序渐进的过程。但是正是第一部分“基础知识”,让我看的满头大汗。在这个部分里,作者主要讲述地是并发的一些重要概念:包括线程的安全性、线程对象彼此间的共享、线程对象安全的发布、如何设计足够安全的线程等对于编写并发程序来说,息息相关的知识点。也许是翻译的原因,针对这些理论知识点的阅读,让人变得困难而缓慢,并且经常出现的是,大篇幅的理论阐述,配上一两个“玩具代码”示例,更加难以消化。这也许是国情差异导致的,中国人讲究:摆事实、讲道理。无论什么时候,示例总是要先于道理。这种情况在市面上充斥的那些国人写的《XXX应用实战》、《XX整合开发指南》等快餐书上得到了完美的诠释。但是老外可不吃这一套,他们觉得理论是基础,一切成果都是建立在坚实的理论理解上的,光知道结果并不够。这点按中国话来说,就是不光要知其然,还要知其所以然。因此建议大家在阅读的本书的时候,针对前面的章节,要看的相对仔细,不要贪快,要深入的去理解其中的奥妙。 第二部分,相对提升了我阅读的快感。这个部分阅读起来相对流畅,也许是由于这个部分主要针对的是Java并发包的使用和分析,更切合本书的主题“并发实战”吧。个人认为这个部分是本书最精华的部分,在第二部分,笔者对Java并发包的一些核心的设计理念;关键API的正确使用,提出了很多见解。并且第二部分的示例也开始逐渐增多,让读者在阅读过程中,即使对前面的理论理解得不够深入,也可以先通过看后面的例子,再反过来理解。作者对第二部门章节的编写,条理还是很清晰的,与那些照抄API文档的书不同,虽然示例都是基于并发包的相关类和接口编写,但是更多写的是他自己的理解。 对于后续两个部分,我觉得第四部分完全可以放入第二部分。第四部分的高级主题,主要讲的是ReentrantLock的使用,原子变量的使用等这些还是基本上基于API使用的知识点。可以作为第二部分的一个加强来阅读。而第三部分又重新回归到复杂理论上。活跃性、伸缩性……这些比较难用指标量化的概念,作者更多的是向读者传授是一种源自意识形态的东西。 总之,如果你想要开始阅读这本书,劝你要做好足够的心理准备。虽然书不厚,但是别指望能用一两个星期快速的阅读完。这本书就像一把双刃剑——杀敌一千、自损八百。难以理解的翻译,可能会极度打击你对Java并发的热情,从此一蹶不振;也可能在坚持阅读完成后,在后续的冥想中领悟到一些道理,得到质的提升。不过我的建议是,既然决定开始看,就坚持看完。如果你也要看的话,做好精神上,长期处于郁闷的心理准备吧。
给神一样的翻译跪下了
对“给神一样的翻译跪下了”的回应
《Java并发编程实战》热门书评
-
给神一样的翻译跪下了
32有用 0无用 放牛娃王二小 2013-03-14
先不谈本书的内容如何,光书名就足够吸引不少目光。“并发”这个词在Java世界里往往和“高级、核心”等字眼相联系起来,就冲着这两个字,都将勾起软件工程师们埋藏在心底那种对技术的探索欲和对高级API的驾驭感。程序员嘛,多少都有点职业病。其实Java对“并发”优化从未停止过,从5.0到7.0,几乎每个版本...
-
中文版的翻译者就是个罪犯
21有用 3无用 学习机器人 2010-05-29
英文版还是不错的,但是中文版的译者典型的没有技术功底,介绍上说什么专家,我日,他妈狗屁,翻译的非常差劲,有些句子都不通顺,都不知道自己去理解,直接就放在书上,你丫有没有良知,书籍是什么,是希望,是神圣的,你们这些译者简直就是在犯罪 ,不过要是英文功底不好,还是建议买本看吧,谁让你英文水平不如他们呢...
-
看过的讲并发编程的最清晰的书
12有用 2无用 阿拉丁的灯 2008-10-20
这本书名为《Java并发编程实践》有些抹杀了它的价值,其中并非只讲述了Java的多线程设施,对一般的并发编程的rationale也有相当透彻的阐述。之前看过各种线程库,pThread, Boost Thread, Java Thread, Qt Thread,感觉Java的线程模型还是相对比较清晰的...
-
并发编程必读书籍
5有用 0无用 kiral 2012-11-05
请注意这本书叫《Java并发编程实战》,和《Java并发编程实践》是两本书,前者翻译的非常好,后者的翻译我基本看不懂。本书关于并发编程的细节介绍得非常详细,看得出有很多实践功底,而不是一个理论派,建议每一个学并发的同学看看。...
-
一段未完的奇妙的旅程
5有用 0无用 Optimus Prime 2013-08-25
这本书的前半部分我读的非常仔细,但后半部分则跳跃了很多,并没有完整的阅读。当然原因肯定不是这本书不够好,而是我本人的内力实在是太差了,越看越羞愧。所谓实践是检验真理的唯一标准,要想理解书上的精髓,唯有多实践,方能有所收获。现在的我越来越感觉自己有些“眼高手低”了,总是幻想着通过阅读什么源码就可以提升...
书名: Java并发编程实战
作者:
出版社: 机械工业出版社华章公司
原作名: Java Concurrency in Practice
译者: 童云兰 | Tim Peierls | [美] Joshua Bloch | Joseph Bowbeer | David Holmes | [美] Doug Lea
出版年: 2012-2
页数: 293
定价: 69.00元
装帧: 平装
ISBN: 9787111370048