Java 高并发编程的一本百科全书《Java 高并发编程详解:多线程与架构设计》,把 Java 语言中最为晦涩的知识点都详解出来了!
前言
对于一个Java程序员而言,能否熟练掌握并发编程是判断他优秀与否的重要标准之一。因为并发编程是Java语言中最为晦涩的知识点,它涉及操作系统、内存、CPU、编程语言等多方面的基础能力,更为考验一个程序员的内功。
那到底应该怎么学习并发编程呢?Java SDK的并发工具包有很多,是要死记硬背每一个工具的优缺点和使用场景吗?当然不是,想要学好并发编程,你需要从一个个单一的知识和技术中“跳出来”,高屋建瓴地看问题,并逐步建立自己的知识体系。
分享
LZ今天给各位读者分享一份Java高并发编程干货书籍《Java高并发编程详解:多线程与架构设计》的电子版。本书深入讲述了Java高并发编程的相关内容,覆盖面广而全,可以将其看作Java高并发编程的一本百科全书。还有清华大牛马士兵的并发编程教程视频分享哟
转发+关注,然后添加VX(tkzl6666)即可获得《Java高并发编程详解:多线程与架构设计》电子版 以及《清华大牛马士兵的并发编程教程视频》的免费领取方式!
![](https://static001.geekbang.org/infoq/a1/a18dd09f7a826d4f11937a4196ed3d4c.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
适读人群:适合有Java开发经验,以成为Java高手、架构师为目标的读者阅读本书
内容
第一部分主要阐述Thread的基础知识,详细介绍线程的API使用、线程安全、线程间数据通信以及如何保护共享资源等内容,它是深入学习多线程内容的基础。
在第二部分中之所以引入ClassLoader,是因为ClassLoader与线程不无关系,我们可以通过synchronized关键字,或者Lock等显式锁的方式在代码的编写阶段对共享资源进行数据一致性保护,那么一个Class在完成初始化的整个过程到最后在方法区( JDK8以后在元数据空间)其数据结构是怎样确保数据一致性的呢?这就需要对ClassLoader有一个比较全面的认识和了解。
第三部分,作者用了三章的篇幅来详细、深入地介绍volatile关键字的语义,volatile关键字在Java中非常重要,可以说它奠定了Java 核心并发包的高效运行,在这一部分中,我们通过实例展示了如何使用volatile关键字并非常详细地介绍了Java内存模型等知识。
第四部分,站在程序架构设计的角度讲解如何设计高效灵活的多线程应用程序,第四部分应该是内容最多的一部分,总共包含了15章。
目录
第一部分——多线程基础
第1章:快速认识线程
![](https://static001.geekbang.org/infoq/77/77f7ebda2604acf44723ff645b574ea1.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第2章:深入理解Thread构造函数
![](https://static001.geekbang.org/infoq/bd/bd651b93fbd934578731065b92f4ea47.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第3章:Thread API的详细介绍
![](https://static001.geekbang.org/infoq/ca/caee8612d64fe3f9c445f435295464b5.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第4章:线程安全与数据同步
![](https://static001.geekbang.org/infoq/73/737054d42fc580e52a5ba72b0bb371f4.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第5章:线程间通信
![](https://static001.geekbang.org/infoq/17/17843821bc75ec6f192b0dc34eb4260f.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第6章:ThreadGroup详细讲解
![](https://static001.geekbang.org/infoq/f4/f4e5edb67e707f040a42bf9c66a02620.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第7章:Hook线程以及捕获线程执行异常
![](https://static001.geekbang.org/infoq/b7/b7c8c3f32d7d3d146e550416e21e8538.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第8章:线程池原理以及自定义线程池
![](https://static001.geekbang.org/infoq/b7/b7ee3ea30abf61e7374a381eeaa84a56.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第二部分——Java ClassLoader
第9章:类的加载过程
![](https://static001.geekbang.org/infoq/03/03219397a5146582966bd761adf77a76.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第10章:JVM类加载器
![](https://static001.geekbang.org/infoq/26/2649b71253372b8a048a1bdda8387544.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第11章:线程上下文类加载器
![](https://static001.geekbang.org/infoq/d4/d4faffe59e24a8b47512f3610df7d287.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第三部分——深入理解volatile关键字
第12章:volatile关键字的介绍
![](https://static001.geekbang.org/infoq/7c/7ccb3ea5632a0ac3ce4217abcdae7242.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第13章:深入volatile关键字
![](https://static001.geekbang.org/infoq/e3/e39cc103ee2561dfc11d2e89a4d40ba5.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第14章:7种单例设计模式的设计
![](https://static001.geekbang.org/infoq/2b/2b13da2a9ceabb1772298af7ae268177.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第四部分——多线程设计架构模式
第15章:监控任务的生命周期
![](https://static001.geekbang.org/infoq/a9/a9aac51e4df3e6af66d3597df98a0f14.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第16章:Single Thread Execution设计模式
![](https://static001.geekbang.org/infoq/da/da5fa4608815b982c5a26fb2a3f6a3b2.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第17章:读写锁分离设计模式
![](https://static001.geekbang.org/infoq/c4/c464c161191d57aeb7dcb8c6f6021e69.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第18章:不可变对象设计模式
![](https://static001.geekbang.org/infoq/7e/7ee7f573faa071cf833227882155ba4c.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第19章:Future设计模式
![](https://static001.geekbang.org/infoq/0a/0a2a1227ab31623cb25342246c9fbd6a.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第20章:Guarded Suspensi on设计模式
![](https://static001.geekbang.org/infoq/65/65e9228b43868cea5773f8c2df8b443f.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第21章:线程上下文设计模式
![](https://static001.geekbang.org/infoq/12/1284b059e0eca525c2f05f452e599777.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第22章:Balking设计模式
![](https://static001.geekbang.org/infoq/9c/9c1f3fd2d7c37710645a8653132eadb9.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第23章:Latch设计模式
![](https://static001.geekbang.org/infoq/a4/a4894eb5c4c83bdf050b2c9602e41897.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第24章:Thread- Per-Message设计模式
![](https://static001.geekbang.org/infoq/02/02af9c739f4335d53dec28580d8088be.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第25章:Two Fhase Termination设计模式
![](https://static001.geekbang.org/infoq/7e/7e1931c0abde9d8cb0beb2735a75182e.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第26章:Worker- Thread设计模式
![](https://static001.geekbang.org/infoq/f7/f7b14d5277427709a033dd34eb535fa6.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第27章:Active 0bjects设计模式
![](https://static001.geekbang.org/infoq/51/514431a95f1b2c684d2b9aee4f0ee466.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第28章:Event Bus设计模式
![](https://static001.geekbang.org/infoq/63/635a976256c5f85be07fda18e5a5fd8b.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第29章:Event Driven设计模式
![](https://static001.geekbang.org/infoq/0c/0ccf1b1e18bcbf5474cfb10f04ad567d.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
转发+关注,然后添加VX(tkzl6666)即可获得《Java高并发编程详解:多线程与架构设计》电子版 以及《清华大牛马士兵的并发编程教程视频》的免费领取方式!
![](https://static001.geekbang.org/infoq/d5/d5aa91e65aba73d4f916f7ff6a8121f0.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
《清华大牛马士兵的并发编程教程视频》
![](https://static001.geekbang.org/infoq/65/65618fdc85f8f46ff1c9ec49d504b739.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
评论 (2 条评论)