点击蓝色“程序员书单”关注我哟
加个“星标”,每天带你读好书!
在介绍本书单之前,我想先问一下各位读者,你们之前对于Java并发编程的了解有多少呢。经过了10多年的发展,Java Web从开发框架到社区都已经非常成熟,很多程序员都可以通过使用框架很快速地搭建起一个Java Web应用,特别是近几年SpringBoot大热,干脆连配置都不需要了解了,直接一键式编译部署运行,让Java工程师的入门成本变得越来越低。
但于此同时,互联网公司对于Java的应用场景也在不断地升级换代,从单机部署再到分布式,从SOA再到微服务,Java后端技术栈变得更加庞大,对于工程师的要求也越来越高,特别是对于大公司来说更是如此,也正因为如此,对Java工程师的考察已经不限于Java Web的那套东西了,企业往往会提出更高的要求,比如熟悉Java并发编程和JVM调优,了解分布式技术、微服务以及中间件等等。
而今天的这份书单就会来推荐一些关于Java并发编程的好书,对于一个Java工程师来说,我们一开始接触的其实是Java中的多线程,所以这份书单也会由浅入深依次推荐相应的书籍,从多线程基础,再到并发编程实战,最后则会推荐几本关于并发编程原理的书籍,其中也包含了对于JUC并发包的源码解析。
Java并发编程书单
Java多线程编程核心技术
Java多线程是每个Java工程师都必须要掌握的知识点,但是以往我们看的Java入门书籍或者是课程,都很少会系统地介绍Java多线程的知识体系,因此我们往往写了几个简单的demo之后就误以为自己已经掌握了多线程了,其实不然,Java多线程编程涉及的内容很多,绝非一个章节或者一节课程就能讲清楚的,因此我们才搬出来这本书。
本书是国内首本整本系统、完整地介绍Java多线程技术的书籍,这本书不聊并发编程原理,而是主要来讲一讲Java多线程技术,事实上,并发编程已经涵盖了Java多线程,但少有书籍会去把Java多线程讲的很仔细,这本书对于想想学习Java多线程的朋友来说更加友好,并且结合了很多案例进行讲解,Java多线程这种偏实践性的技术还是需要结合实战才更容易被理解。
本书作者高洪岩,某世界500强项目经理,有10年Java相关开发经验,精通Java语言,擅长J2EE、EJB、Android、报表和多线程,以及并发相关的技术内容,理论与实践经验颇丰。著有《Java多线程编程核心技术》《Java并发编程:核心方法与框架》《NIO与Socket编程技术指南》《Java EE核心框架实战 第2版》《Jasper Reports+iReport报表开发详解》《Android学习精要》等书籍。
实战Java高并发程序设计
这本书挺有意思的,它既介绍了Java并发编程的一些基本原理,介绍了JUC并发包,同时也不忘介绍一些Java多线程的基础,既考虑到了一部分读者对于Java多线程可能并不太熟悉,也避免了没有介绍并发原理的尴尬。
当然了,想要结合这两部分内容一起讲,综合性确实挺高了不少,但是相对来说深度就要比后面两本书稍微弱一点,不过对于很多Java学习者来说,如果要学习Java多线程和并发编程的实战内容,那么这本书的内容确实是更加全面的。
葛一鸣:炼数成金特约讲师,国家认证系统分析师,获得Oracle OCP认证。长期从事Java软件开发工作,对Java程序设计、JVM有深入研究,对设计模式、人工智能、神经网络、数据挖掘等技术有浓厚兴趣,著有《实战Java虚拟机》一书,目前在Dataguru开设多门课程,包括Java并发、JVM、Git等。
Java并发编程的艺术
《Java并发编程的艺术》内容涵盖Java并发编程机制的底层实现原理、Java内存模型、Java并发编程基础、Java中的锁、并发容器和框架、原子类、并发工具类、线程池、Executor框架等主题,每个主题都做了深入的讲解,同时通过实例介绍了如何应用这些技术。
这本书是我学习Java并发编程时使用的书籍,和这本书类似的,其实还有一本非常知名的,介绍Java并发编程书籍《Java并发编程实战》作者是Java并发包的开发者,也是Java语言的共同创始人之一,那么我为什么没有推荐它呢,因为高司令的书相对来说还是比较晦涩难懂,而且年代比较久远。
最重要的是,Java并发编程的概念本来就比较复杂,我们需要的是一本能够把原理解释清楚的书籍,而这本《Java并发编程的艺术》书是国内作者写的Java并发书籍,刚好就比上面那一本更简单易懂,至少我自己看下来是这样的感觉。
本书在各大网站的销量也很高,适合作为并发编程的入门书籍,当然,学习并发原理之前,还是先把Java的多线程搞懂吧。
方腾飞(花名清英,英文名kral),蚂蚁金服集团技术专家,从事Java开发近10年。5年以上的团队管理、项目管理和敏捷开发经验,崇尚团队合作,他创办了并发编程网(http://ifeve.com),组织翻译了百余篇国外优秀技术文章,并曾为InfoQ撰写“聊聊并发”专栏,在《程序员》杂志撰写敏捷实践系列文章,曾用博客http://kiraljavaeye.com。
Java并发编程之美
《Java并发编程之美》分为三部分,第一部分为Java 并发编程基础篇,主要讲解Java 并发编程的基础知识、线程有关的知识和并发编程中的其他相关概念,这些知识在高级篇都会有所使用,掌握了本篇的内容,就为学习高级篇奠定了基础;第二部分为Java 并发编程高级篇,讲解了Java 并发包中核心组件的实现原理,让读者知其然,也知其所以然。
熟练掌握书中内容,对我们在日常开发高并发、高流量的系统时会大有裨益;第三部分为Java 并发编程实践篇,主要讲解并发组件的使用方法,以及在使用过程中容易遇到的问题和解决方法。
其实这本书看名字就知道和上面一本很像了,根据个人喜好选择一本即可,并不需要两本都看。
翟陆续,花名加多,四川大学计算机学院研究生毕业。目前任淘宝技术高级开发工程师,热衷于Java并发编程,对JUC包源码有深入的研究,熟悉常用开源框架实现原理。
更多优质书单推荐!
还搞不定Java多线程和并发编程面试题?你可能需要这一份书单!