书籍作者:汪文君 | ISBN:9787111657705 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:4565 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书由浅入深、循序渐进地介绍Java高并发核心库的精髓,帮助读者掌握相关内容的技术细节。
内容讲解以真实问题为导向,层层递进,环环紧扣,详细阐述每一个解决方案的来龙去脉。
通过大量的实际案例,原理剖析和实战代码相结合,让读者能够更加清晰深入地理解每一个技术细节的用法和实用技巧。
详细介绍Java微基准测试工具集JMH与平台级性能指标数据度量工具Metrics的使用方法,帮助读者快速开发出高效、健壮的并发应用程序。
本书共包含四大部分。
第①部分(第1章)详细介绍了JMH微基准测试工具的使用细节。该工具是由Oracle JVM开发团队相关成员开发的,开发者借助它能够了解自己编写的程序代码以及程序在运行期的精确性能表现。在本书的其他章节对API之间的性能进行对比时,主要也是依赖该工具,因此在学习本书的其他章节时,最好能够掌握该部分内容。强烈推荐开发者将JMH纳入自己日常的“兵器库”中,以便能够随时随地使用。
第②部分(第2~5章)主要围绕Java并发包展开,内容包括:Java的原子类型及其底层原理(第2章);Java的并发工具集(第3章),其中还穿插了Google Guava的部分内容;Java的并发容器(第4章),包括阻塞队列BlockingQueue和并发容器等内容;Java的ExecutorService(第5章),以及Future家族成员的详解。
第③部分(第6章)主要介绍自Java 8 引入的Stream,并且重点解释了具备高并发能力的并行流原理,以及如何自定义并行流等相关内容。
第④部分(第7章)深入讲解了Metrics。作为一个比较小巧的度量工具集,Metrics目前已经成为事实上的度量标准,在很多开源软件、框架和平台中都能看到对它的使用,比如Apache的Kafka、Spark、Storm、Spring Cloud等都是使用Metrics作为系统运行性能指标收集的手段。
汪文君
某外企数据服务中心技术经理、技术专家,目前专注于实时数据data pipeline平台的构建与架构,以及部门内部DevOps的建设。对团队管理、项目管理有着自己独到的见解。在加入该公司之前曾拥有多年的移动网关通信研发经验,以及移动互联网、云计算、B2C电子商务平台等架构的开发经验。热衷于技术分享,善于锤炼技术细节,目前已录制20余套技术视频,在互联网上得到广泛传播。另著有《Java高并发编程详解:多线程与架构设计》,该书被机械工业出版社华章公司评选为2018年度十佳图书之一。
《Java高并发编程详解:多线程与架构设计》的姊妹篇!外企数据服务部技术专家撰写,分享多年Java服务器、大数据程序开发架构经验。
实战性强,从底层原理总结和归纳各个技术细节,结合真实的案例深入分析微基准测试、性能度量、Java高并发类库的原理及应用。
【为什么写这本书】
在我的第一本书《Java高并发编程详解:多线程与架构设计》出版之后,我随即开始了第二本书《Java高并发编程详解:深入理解并发核心库》的写作。这本书作为第一本书的延续,主要内容将围绕Java并发包的使用场景展开;同时还增加了JMH基准测试工具的内容(目前,最新的JDK版本中已经引入了该工具,并作为标准库之一发布);引入了Java 8 Stream的相关内容,尤其是还分析了与高并发相关的并行流;在本书的最后还介绍了性能度量工具Metrics(该类库目前已经成为业界实质上的度量标准,很多开源系统、商业软件中都会采用它)。
如果说我写作第一本书只是一次偶然性的尝试,那么这本书的写作则是一次必然性的使命,是对读者和出版社的一个交代与承诺。为了使得Java高并发编程的相关内容尽可能系统化和完善,必须完成对并发包的介绍。这里,我要向伟大的Doug Lea大师致敬,由于他孜孜不倦的努力、精益求精的敬业态度, Java程序员才能以较低的成本和相对安全的方式来处理非常复杂的高并发多线程场景。
本书中的所有内容都来源于我的网络视频课程。每一套课程推出后都在交流群中引起热烈讨论,我将这些讨论、学习者提出的疑惑以及自己对内容的重新思考全部融入本书中,以使本书中所涉及的知识点尽可能完善与成熟。
【读者对象】
●计算机相关专业的在校学生
●Java开发工程师
●从事Java系统架构的架构师
●使用Java作为开发语言的公司与组织
●开设Java课程的专业院校
●开设Java课程的培训机构
【如何阅读本书】
本书共7章,逻辑上可分为四部分。第一部分(第1章)详细介绍了JMH(Java Micro benchmark Harness)基准测试工具的使用细节。该工具是由Oracle JVM开发团队相关成员开发的,借助它,开发者将能足够了解自己所编写的程序代码,以及程序在运行期的精确性能表现。在本书的其他章节中,我们对API之间的性能进行对比时主要也是依赖于该工具,因此在学习本书的其他章节之前,最好能够先掌握该部分内容。笔者在此强烈推荐开发者将JMH纳入自己日常的“兵器库”中,以便随时随地使用。
第二部分(第2~5章)主要围绕Java并发包进行展开,内容包括:Java的原子类型及其底层原理(第2章);Java的并发工具集(第3章),其中还穿插了Google Guava的部分内容;Java的并发容器(第4章),包括阻塞队列BlockingQueue和并发容器等内容;Java的ExecutorService(第5章),以及Future家族成员的详解。
第三部分(第6章)主要介绍自Java 8 引入的Stream,并且重点解释了具备高并发能力的并行流原理,以及如何自定义并行流等相关内容。
第四部分(第7章)主要介绍Metrics这个比较小巧的度量工具集。目前Metrics已经成为事实上的度量标准,在很多开源软件、框架和平台中都能看到对它的使用,比如Apache的Kafka、Spark、Storm、Spring Cloud等都是使用Metrics作为系统运行性能指标收集的手段。
●第1章 JMH 1
1.1 JMH简介 1
1.2 JMH快速入门 1
1.3 JMH的基本用法 6
1.4 编写正确的微基准测试以及高级用法 27
1.5 JMH的Profiler 45
1.6 本章总结 56
●第2章 Java并发包之原子类型详解 57
2.1 AtomicInteger详解 58
2.2 AtomicBoolean详解 69
2.3 AtomicLong详解 74
2.4 AtomicReference详解 76
2.5 AtomicStampedReference详解 86
2.6 AtomicArray详解 89
2.7 AtomicFieldUpdater详解 90
2.8 sun.misc.Unsafe详解 93
2.9 本章总结 100
●第3章 Java并发包之工具类详解 102
3.1 CountDownLatch工具详解 102
3.2 CyclicBarrier工具详解 107
3.3 Exchanger工具详解 116
3.4 Semaphore工具详解 124
3.5 Phaser工具详解 138
3.6 Lock&ReentrantLock详解 150
3.7 ReadWriteLock&ReentrantRead-WriteLock详解 165
3.8 Condition详解 171
3.9 StampedLock详解 181
3.10 Guava之Monitor详解 192
3.11 Guava之RateLimiter详解 194
3.12 本章总结 204
●第4章 Java并发包之并发容器详解 205
4.1 链表 206
4.2 BlockingQueue(阻塞队列) 221
4.3 ConcurrentQueue(并发队列) 237
4.4 ConcurrentMap(并发映射) 245
4.5 写时拷贝算法(Copy On Write) 248
4.5.3 CopyOnWrite总结 250
4.6 高并发无锁(Lock Free)数据结构的实现 250
4.7 本章总结 255
●第5章 Java并发包之ExecutorService详解 256
5.1 Executor&ExecutorService详解 256
5.2 Future和Callback 277
5.3 ForkJoinPool 详解 284
5.4 CompletionService详解 289
5.5 CompletableFuture详解 294
5.6 本章总结 301
●第6章 Java Streams详解 302
6.1 Stream介绍及其基本操作 302
6.2 Collector在Stream中的使用 320
6.3 Parallel Stream详解 337
6.4 本章总结 344
●第7章 Metrics(Powerful Toolkit For Measure) 345
7.1 Metrics快速入门 345
7.2 五大Metric详解 346
7.3 Reporter详解 372
7.4 Metrics Plugins 380
7.5 深入Metrics源码 387
7.5.3 拾遗补漏 394
7.6 本章总结 396
看过汪老师上一本多线程与架构设计,写的很棒,这本并发核心库也非常实用
2020-08-14