Java高并发编程详解:多线程与架构设计+Java并发编程:核心方法与框架套装共2册
内容简介
《Java高并发编程详解:多线程与架构设计》 本书主要包含四个部分: 《Java并发编程:核心方法与框架》 技术畅销书《Java多线程编程核心技术》作者撰写,全程案例式讲解,全面介绍Java并发包相关的技术。以浅白的措辞,结合大量实例模拟实际应用场景,全面解析Java并发包中的核心类、API与并发框架的使用。
部分主要阐述Thread的基础知识,详细介绍线程的API使用、线程安全、线程间数据通信,以及如何保护共享资源等内容,它是深入学习多线程内容的基础。
第二部分引入了ClassLoader,这是因为ClassLoader与线程不无关系,我们可以通过synchronized关键字,或者Lock等显式锁的方式在代码的编写阶段对共享资源进行数据一致性保护,那么一个Class在完成初始化的整个过程到后在方法区(JDK8 以后在元数据空间)其数据结构是怎样确保数据一致性的呢?这就需要对ClassLoader有一个比较全面的认识和了解。
第三部分详细、深入地介绍volatile关键字的语义,volatile关键字在Java中非常重要,可以说它奠定了Java核心并发包的高效运行,在这一部分中,我们通过实例展示了如何使用volatile关键字以及非常详细地介绍了Java内存模型等知识。
本书的第四部分,站在程序架构设计的角度深入讲解了如何设计高效灵活的多线程应用程序,这一部分长达15个章节,其重要程度可见一斑。
全书共10章。第1章讲解了线程间的同步性,以及线程间的传输数据控制,即Semaphore和Exchanger类的使用。第2章介绍了在同步处理上更加灵活的工具类CountDownLatch和CyclicBarrier,详细到每个类的API的具体使用与应用场景。第3章是第2章的升级,由于CountDownLatch和CyclicBarrier类都有相应的弊端,所以在JDK 1.7中新增加了Phaser类来解决这些缺点,该类是熟练掌握JDK并发包的必要知识点。第4章是读者应重点掌握的Executor接口与ThreadPoolExecutor线程池,能有效地提高程序运行效率,更好地统筹线程执行的相关任务。第5章讲解Future和Callable的使用,解决线程需要返回值的情况。第6章介绍Java并发包中的CompletionService的使用,因为可以以异步的方式获得任务执行的结果,所以该接口可以增强程序运行效率。第7章介绍接口ExecutorService,该接口提供了若干工具方法来方便执行并发业务。第8章主要介绍ScheduledExecutorService的使用,以掌握如何将计划任务与线程池结合使用。第9章主要介绍Fork-Join分治编程,以提升多核CPU的优势,加快程序运行效率。第10章主要介绍并发集合框架,利用好并发框架,事半功倍。
作者简介
汪文君 某数据服务中心技术经理、技术专家,目前专注于实时数据data pipeline平台的构建与架构,曾有7年多的移动通讯工作经验,以及移动互联网、云计算和B2C电子商务平台的开发架构经验,热衷于技术分享、技术细节锤炼。目前已录制10余套技术视频,在互联网上广泛传播。 高洪岩 目录
某世界500强企业高级项目经理,10余年项目管理与开发经验,10年Java相关开发经验,深谙Java技术开发难点与要点,拥有良好的技术素养和丰富的实践经验。精通J2EE核心技术、基于EJB的分布式系统开发、Android移动开发、智能报表、多线程及高并发等相关的技术内容,近期继续关注并发相关的前沿技术。著有技术畅销书《Java多线程编程核心技术》,喜欢将技术与教育相结合的方式共享知识,得以共同提高。生活中喜欢摄影, 对轮滑,旅游,航模亦兴趣浓厚。