本文源自InfoQ发表的《Java 并发编程的艺术》电子书 作者:方腾飞 序言:张龙 免费下载此迷你书
推荐序
欣闻腾飞兄弟的《聊聊并发》系列文章将要集结成InfoQ迷你书进行发布,我感到非常的振奋。这一系列文章从最开始的发布到现在已经经历了两年多的时间,这两年间,Java世界发生了翻天覆地的变化。Java 7已经发布,而且Java 8也将在下个月姗姗来迟。围绕着JVM已经形成了一个庞大且繁荣的生态圈,Groovy、Scala、Clojure、Ceylon等众多JVM语言在蓬勃发展着,如今的Java已经不是几年前的Java了,众多运行在JVM上的编程语言为我们带来了更多的选择,提供了更好的机会。
纵观这几年的技术发展趋势,唱衰Java的论调一直都萦绕在我们耳边。不可否认,Java的发展确实有些缓慢,而且有些臃肿;但放眼望去,有如此之多的核心与关键系统依旧在使用Java进行开发并运行在JVM之上,这不仅得益于Java语言本身,强大的JVM及繁荣的Java生态圈在这其中更是发挥着重要的作用。在Java的世界中,我们想要完成一件事情有太多可用的选择了。
虽然如此,对于国内的一些开发人员来说,但凡提到Java,想到的都是所谓的SSH(Struts、Spring及Hibernate等相关框架)。不可否认,这些框架对于我们又快又好地完成任务起到了至关重要的推进作用,然而Java并不是SSH,SSH也不是Java的代名词。
由于之前的系列文章都是本人审校的,因此我也非常幸运地成为了这些文章的第一个读者,在阅读之际不禁感叹腾飞的技术造诣及对技术执着的追求。腾飞兄弟的《聊聊并发》系列文章从发布以来一直高居InfoQ中文站浏览量的前列,每篇文章之后都有大量的读者评论,或是提问,或是补充相关知识,腾飞兄弟也都非常耐心地对读者的问题进行解答。并发是一个学科,Java中也有自己的一套处理并发的框架与体系;不过遗憾的是,很多读者对这一领域知之甚少,这也直接造成了很多人并不了解有关并发的理论与实践知识。幸运的是,腾飞的《聊聊并发》系列文章非常完美地填补了这一空白,文章从synchronized关键字、volatile实现原理到ConcurrentHashMap、ConcurrentLinkedQueue源码分析,再到阻塞队列和Fork/Join框架,为读者献上了一道丰盛的Java并发大餐。
相信腾飞以在淘宝的实际工作经验凝结而成的这部InfoQ迷你书会为广大读者打开通往Java并发之路的大门。这里我要小声做一个提示,也许文章中很多内容看一次未必就能完全消化吸收,这时请不要放弃,多看几次,多动手做实验,相信你会很快掌握Java并发的精髓的。
另外,值得一提的是,腾飞兄弟现在在维护着一个关于Java并发资源的站点——并发编程网(http://ifeve.com/),上面有大量高质量的原创与翻译文章,都是关于并发领域相关内容的,感兴趣的读者不妨移步一观。
最后,祝大家阅读愉快,能够轻松驾驭Java并发。
是为序。
InfoQ中文站Java主编:张龙
本书节选了成书的两个章节,完整版将由机械工业出版社华章公司于2015年发售,完整阅读需耐心等待。
(全文完)如果您喜欢此文请点赞,分享,评论。
相关推荐
Java虚拟机并发编程是Java开发中的重要组成部分,它涉及到多线程、同步机制、线程池等关键概念,是提高程序效率和系统...《Java虚拟机并发编程迷你书》应该会详细阐述这些内容,为读者提供宝贵的理论知识和实践经验。
本系统采用Java编程语言进行开发,并利用Oracle数据库作为数据存储平台,展现出强大的功能和稳定性。下面,我们将深入探讨这个小型图书馆管理系统的相关知识点。 首先,Java是一种广泛使用的面向对象的编程语言,以...
以上就是ACCP6.0_S1JAVA DVD迷你管理器项目中可能涉及的主要Java知识点,通过这个项目,学习者能够对Java编程有深入的理解,并具备实际项目开发的经验。在实际学习过程中,建议结合源码仔细分析和实践,以巩固理论...
6. **多线程编程**: 解释线程的概念,如何创建和管理线程,以及同步和互斥的概念,帮助读者理解并发编程的基础。 7. **泛型**: 书中详细讲解了泛型的使用,如何创建泛型类、泛型接口和泛型方法,以及其在集合框架中...
《图书馆管理系统》是一个基于Java语言开发的项目实例,旨在为学习者提供实际的编程经验,尤其是在Java领域。这个系统利用了Swing库来构建用户界面,同时与SQL Server 2000数据库进行交互,实现了图书管理的各项功能...
Java作为一门面向对象的编程语言,具有跨平台性、稳定性和丰富的类库,非常适合开发这种业务逻辑明确、数据处理量适中的系统。在Java中,我们可以利用Swing或JavaFX库来构建图形用户界面(GUI),实现用户与系统的...
【北大青鸟java迷你DVD管理器】是一款专为学习Java编程设计的教育软件,由知名的教育机构北大青鸟推出。这款管理器旨在帮助学生和初学者更好地理解和掌握Java编程语言,通过模拟DVD光盘的管理和操作,提供了一个直观...
1. **Java基础**:首先,开发者需要熟悉Java编程语言的基础知识,包括类、对象、封装、继承、多态等面向对象编程概念。同时,理解异常处理、控制流(循环、条件语句)以及数据类型也是必不可少的。 2. **Java集合...
Java并发编程:03-多线程并发下载器, 支持断点下载(手写不限速的迷你版迅雷) 主要是最近学习完一些初级的并发知识, 所以想使用这些知识做一个小小工具, 巩固一下知识点, 然后就想到了多线程并发下载文件的这个小工具...
在本项目"Java程序设计实习-迷你数据库管理系统"中,我们将深入探讨如何使用Java语言构建一个小型但功能齐全的数据库管理系统。这个系统可能是基于文本文件、SQLite或更复杂的数据库技术,如MySQL。以下是对相关知识...
《Java迷你词典》是一款基于Java编程语言实现的英文词典软件,主要功能是提供英文单词的查询服务。这个小巧的应用程序充分利用了Java语言的跨平台特性,可以在多种操作系统上运行,为用户提供了便捷的词汇查询体验。...
开发者需要理解TCP套接字编程的基本概念,熟悉Java的并发编程模型,例如Thread类和Runnable接口,以及如何处理输入输出流。 总结来说,TCP实现的迷你聊天室利用TCP协议的可靠性保证了消息的准确传递,而线程的使用...
《Java版的星际争霸》是一款由国外开发者使用Java 6.0编程语言开发的迷你游戏,旨在探索和展示Java在图形用户界面(GUI)和实时游戏性能方面的潜力。这款小游戏虽然规模不大,但却充分体现了Java语言的强大功能和跨...
迷你DVD管理器是一款精心设计的软件工具,专为个人或小型图书馆等场合提供方便的DVD资源管理服务。这款系统具备完善的DVD信息管理功能,让用户能够高效地操作和追踪其DVD收藏。下面将详细阐述该系统的主要特点和相关...
Java DVD系统是一个基于Java编程语言开发的经典案例,它展示了如何构建一个完整的应用程序,特别是针对多媒体设备如DVD的管理系统。在本项目中,开发者将类与代码进行分离,以提高代码的可读性和可维护性,这是软件...
以上这些知识点,无论是"JAVA程序员面试宝典.pdf"还是"Java程序员面试笔试真题库_2017版_迷你书_经典试读版.pdf"中都可能涵盖。通过深入学习和实践,Java程序员可以提升自己的面试竞争力,为成功进入心仪的公司打下...
Java编写的银行管理模拟系统是一种基于Java编程语言开发的应用程序,用于模拟真实世界中的银行操作。这个迷你系统可能包括了用户交互、账户管理、交易处理等核心功能,为用户提供了一个虚拟的银行环境来体验和理解...
这个Java迷你版迅雷下载器的源码应该包含上述技术的实现,对于学习Java并发编程和网络I/O的开发者来说,这是一个很好的实践案例。通过阅读和分析源码,我们可以深入理解多线程下载的实现细节,以及如何在Java中有效...
迷你TXT管理器是一款基于JAVA开发的文本管理工具,主要针对TXT格式的文本文件进行操作,旨在提供便捷的文件浏览、编辑以及管理功能。这个项目可能是北大青鸟学士后JAVA课程的一部分,旨在帮助学员深入理解和实践JAVA...