我的第一次之给《JAVA并发编程实践》写推荐序
英文书名:Java Concurrency in Practice
中文书名:JAVA并发编程实践
这是一本入围17届Jolt大奖的书,虽然最终他没有获奖,但是这只是与政治有关的。:)
推荐序原文如下:
http://book.csdn.net/bookfiles/398/10039814644.shtml
在汗牛充栋的 Java 图书堆中,关于并发性的书籍却相当稀少,然而这本书的出现,将极大地弥补了这一方面的空缺。即使并发性编程还没进入到您的 Java 日常开发当中来,也应当花些时间来阅读这本重要的图书。该书是由 developerWorks 《Java 理论与实践》专刊的作者Brian Goetz (http://www.briangoetz.com/) 执笔,他曾是Quiotix 软件开发和咨询公司的首席顾问Sun Microsystems 的高级工程师,现在是,并且效力于多个 JCP 专家组。他作为专业的软件开发人员已经有 20 年了,其在 Java 并发性领域的研究与贡献是有目共睹的。
这是一本目前在 Java 并发性领域研究的编程图书中最值得一读的力作。随着计算机技术的不断迅速发展,各种各样的编程模型也越来越多,越来越复杂化与多样化。虽然当前CPU主频在不断升高,但是X86架构的硬件已经成为瓶颈,这种架构的CPU主频最高为4G,事实上目前3.6G主频的CPU已经接近顶峰,多线程编程模型不仅是目前提高应用性能的手段,更是下一代编程模型的核心思想。它的目的就是“最大限度地利用CPU资源”,当某一线程的处理不需要占用CPU而只需要I/O等其他资源时,就可以让需要占用CPU资源的其他线程有机会获得CPU资源。因此,就目前来说,多线程编程模型仍是计算机系统架构的最有效的编程模型。
Java 提供了语言级的多线程支持,所以在 Java 中使用多线程相对于在 C/C++ 当中使用多线程来说更加简单与快捷。除了 Brian Goetz 自己的研究、经验和热心读者的贡献之外,本书还吸取了一些并发性前沿人员的真知灼见,包括 Tim Peierls、Joshua Bloch、Joseph Bowbeer、David Holmes 和 Doug Lea。在该书中, Brian Goetz 从最基本的知识开始介绍,首先集中描述了在 Java 平台上创建线程应用程序以及同步对共享资源的访问时的细微之处;然后分析了 Java SE 5 提供的更高层次的线程执行构造,以及如何最好地把它们应用到现实世界中的不同场景,并整合了一些最佳实践和最新的研究主张;再就现实中的生存保证、性能、可伸缩性和可测试性的困难问题进行了分析,并把当前的最佳实践调查与相关的研究结果相结合,提供了一些可行的替代方案;最后介绍了一些在开发中可能适用的高级并发性技术,包括显式锁、定制同步器、原子变量与非阻塞同步,还介绍了低级的 Java存储模型。同时,在全书贯穿了许多简洁的代码示例,用来演示问题和可行的解决方案。
当我们从今天以应用程序为核心的开发平台转移到不远的未来支持多核处理器的操作系统和平台机制时,Java Concurrency in Practice 代表了这个容易出错的领域当前最新的并发性实践和研究。相信这一本优秀的图书将是您案头的必备书籍,强烈建议您阅读并实践之。
俞黎敏
2007年3月于上海
书中附带的源码可以从这里进行下载:
Java Concurrency in Practice Source Code
或者直接浏览代码清单
Java Concurrency in Practice Source Code Listings (under construction)
现在各大网上书店现均可以购买到:
第二书店:http://www.dearbook.com/book/186746
华 储 网:http://www.huachu.com.cn/itbook/itbookinfo.asp?lbbh=10059459
china-pub:http://www.china-pub.com/computers/common/info.asp?id=34825
电子工业出版社