Java并发编程深度解析与实战

Java并发编程深度解析与实战

作者:谭锋(Mic)

出版社:电子工业

出版年:2021年10月

ISBN:9787121421365

所属分类:诗歌文集

书刊介绍

《Java并发编程深度解析与实战》内容简介

本书涵盖Java并发编程体系的核心库和核心类的使用及原理分析,具体包括线程、synchronized、volatile、J.U.C中的重入锁和读写锁、并发中的条件等待机制、J.U.C并发工具集、深度探索并发编程不得不知的工具、阻塞队列、并发安全集合、线程池、异步编程特性等。书中针对每一个技术点,纵向分析与其相关的所有内容,并且对相关知识点进行了非常详细的说明,同时从架构实践的角度来看待并发,通过大量实战案例让读者理解各类技术在实际应用中的使用方法。
作者花费了4年时间,投入了大量精力对并发编程领域进行了深入的研究,将自己13年的Java开发及架构经验融入了书中,对各位读者来说,这应该是一本非常值得阅读的图书。
谭锋(Mic)咕泡学院联合创始人,2017年开始创业,至今已有4年多时间。拥有13年Java开发及架构经验,其中有4年授课经验,培养了3万多名学员,学员遍布一二线主流互联网企业。
曾就职于中国电信、平安支付、挖财等公司担任业务架构师,在平安支付主导了基于Dubbo的服务化架构设计和落地,在挖财推动了基于Spring Boot微服务化架构的改造。因此对于微服务架构、高并发架构有非常深入的研究,以及丰富的实践经验。
目前担任教学总监一职,负责微服务及高并发领域的课程研发和设计。

作品目录

内容简介
前言
读者服务
第1章:Java线程的实践及原理揭秘
1.1、如何理解系统并发
1.2、系统如何支撑高并发
1.3、线程的前世今生
1.4、在Java中如何使用多线程
1.5、多线程如何应用到实际场景
1.6、多线程的基本原理
1.7、线程的运行状态
1.8、如何正确终止线程
1.9、理解上下文切换带来的性能影响
1.10、揭秘守护线程
1.11、快速定位并解决线程导致的生产问题
1.12、本章小结
第2章:深度揭秘synchronized实现原理
2.1、揭秘多线程环境下的原子性问题
2.2、Java中的synchronized同步锁
2.3、关于synchronized同步锁的思考
2.4、synchronzied同步锁标记存储分析
2.5、synchronized的锁类型
2.6、关于CAS机制的实现原理分析
2.7、锁升级的实现流程
2.8、synchronized使用不当带来的死锁问题
2.9、本章小结
第3章:volatile为什么能解决可见性和有序性问题
3.1、关于线程的可见性问题分析
3.2、深度理解可见性问题的本质
3.3、volatile如何解决可见性问题
3.4、指令重排序导致的可见性问题
3.5、从CPU层面深度剖析指令重排序的本质
3.6、通过内存屏障解决内存系统重排序问题
3.7、Java
Memory
Mode
3.8、揭秘volatile实现原理
3.9、Happens-Before模型
3.10、本章小结
第4章:深入浅出分析J.U.C中的重入锁和读写锁
4.1、J.U.C中与锁相关的API
4.2、ReentrantLock的设计猜想
4.3、ReentrantLock实现原理分析
4.4、AbstractQueuedSynchronizer
4.5、ReentrantLock源码分析
4.6、ReentrantLock释放锁源码分析
4.7、分析ReentrantReadWriteLock类的原理
4.8、StampedLock的原理分析
4.9、本章小结
第5章:从线程通信来窥探并发中的条件等待机制
5.1、wait/notify
5.2、通过Thread.join获取线程执行结果
5.3、J.U.C中的条件控制Condition
5.4、Condition的设计猜想
5.5、Condition的源码分析
5.6、本章小结
第6章:J.U.C并发工具集实战及原理分析
6.1、CountDownLatch简单介绍
6.2、CountDownLatch底层原理
6.3、Semaphore
6.4、Semaphore原理分析
6.5、CyclicBarrier
6.6、CyclicBarrier实现原理及源码
6.7、本章小结
第7章:深度探索并发编程不得不知的工具
7.1、初步认识ThreadLocal
7.2、ThreadLocal的应用场景分析
7.3、ThreadLocal解决SimpleDateFormat线程安全问题
7.4、ThreadLocal实现原理分析
7.5、任务拆分与聚合Fork/Join
7.6、Fork/Join的实现原理
7.7、Fork/Join的核心源码分析
7.8、使用Fork/Join解决实际问题
7.9、本章小结
第8章:深度剖析阻塞队列的设计原理及实现
8.1、什么是阻塞队列
8.2、Java中提供的阻塞队列
8.3、阻塞队列中提供的方法
8.4、阻塞队列的使用
8.5、阻塞队列应用实战
8.6、详解J.U.C中阻塞队列的使用
8.7、阻塞队列的实现原理
8.8、本章小结
第9章:深度解读并发安全集合的原理及源码
9.1、并发安全集合ConcurrentHashMap
9.2、正确理解ConcurrentHashMap的线程安全性
9.3、ConcurrentHashMap的数据结构
9.4、深度分析ConcurrentHashMap中的并发扩容机制
9.5、分段锁设计提高统计元素数量的性能
9.6、详解红黑树的实现原理
9.7、ConcurrentHashMap中红黑树的使用
9.8、Java中其他并发安全集合
9.9、深度分析数据结构:跳表
9.10、本章小结
第10章:站在架构的角度思考线程池的设计及原理
10.1、线程池的优势
10.2、Java中提供的线程池
10.3、Executor框架详解
10.4、线程池的设计猜想
10.5、从实现原理了解线程池
10.6、线程池核心源码剖析
10.7、合理设置线程池参数
10.8、线程池的监控
10.9、本章小结
第11章:Java并发编程中的异步编程特性
11.1、了解Future/Callable
11.2、Future/Callable的实现原理
11.3、Java
8新特性之CompletableFuture
11.4、CompletionStage方法及作用说明
11.5、CompletableFuture综合实战
11.6、CompletableFuture实现原理分析
11.7、核心源码分析
11.8、本章小结

相关推荐

微信二维码