Java多线程编程核心技术(第3版)
高洪岩
前言
为什么写作本书
不管是学习JavaSE、JavaEE、JavaWeb,还是学习Java大数据、Java移动开发、Java分布式、Java微服务,“多线程编程”都是必不可少的核心技术点。本书是首本多线程技术书,自第1版和第2版出版以来,获得了广大Java程序员与学习者的关注,在技术论坛、博客、公众号等平台涌现了大量针对Java多线程技术的讨论与分享。有些读者在第一时间根据书中的知识总结了学习笔记,并在博客上进行分享,这种传播知识的精神令人赞赏和尊重,知识就要分享与传播。我也很高兴能为国内IT知识的体系建设尽微薄之力。
然而本书第1版和第2版出版时,基于Java的分布式/微服务技术还没有强调性能的想法,只是单纯地实现RPC远程调用即可,但随着分布式/微服务技术的稳定与推广,我们发现,单机的性能其实仍是分布式/微服务需要关注的基本点,因为只有单机运行环境的性能上去了,分布式/微服务的整体性能才能得到大幅度的提高,而在这中间一定会涉及两个技术点:数据的组织和线程的管理。掌握了这两个技术点,读者就可以自己实现消息队列,实现对数据的入队和出队的管理,这完全可以由现成的Java并发包中的并发集合工具类实现,不需要自己编写代码,从而大大提升了程序员的开发效率,避免了程序员自己重复造轮子的现象。
与此同时,我也收到了很多读者希望扩展或者深入讲解某些知识点的反馈建议,所以决定升级本书。
第3版与第2版的区别
第3版注重实战知识点的更新,主要是增加了针对“数据的组织”的第8章(并发集合工具类),以及针对“线程的管理”的第9章(Java线程池)。
第8章介绍了并发集合框架,这是在多线程环境下使用较多的集合工具类,它一方面可以大大提升开发者开发多线程应用程序的效率,另一方面对数据的组织也更具有规划性,能够满足高并发环境下的使用需求。
第9章增加了线程池的使用,让线程管理更规范、高效。线程池也…