当前位置:网站首页>图书 > 正文 >>

一本书讲透Java线程:原理与实践

图书信息

作者储诚益
出版社机械工业出版社
ISBN9787111737261
出版时间2023-11-01
字数16.2万
分类科技,计算机,网络,计算机理论与教程

读书简介

本书由科大讯飞高级系统架构师撰写,结合大量源码与图示,通俗易懂;自顶向下解析JDK、JVM、Linux中的Java线程通信机制、同步机制、锁机制、原子计数器、线程安全容器、线程池的实现原理与应用技巧。全书共12章,分为三篇。 基础篇(第1~5章),从Linux的线程基础讲起,重从JDK、JVM、Linux多个维度讲解Java线程的设计、通信与同步机制,如内存一致性、内存屏障、多线程间数据通信、并发控制等核心知识,从而在实际发中提高程序的性能和稳定性。

目录

前言

基础篇

Chapter 1 第1章 Linux线程基础

1.1 Linux进程

1.2 Linux进程间通信

1.3 CPU任务调度

1.4 Linux线程

1.5 线程同步:互斥量

1.6 线程同步:条件变量

1.7 线程同步:信号量

1.8 小结

Chapter 2 第2章 JVM基础知识

2.1 Java、JDK、JRE与JVM

2.2 Java跨平台原理

2.3 JVM系统架构

2.4 JVM与操作系统的线程模型

2.5 JNI机制

2.6 小结

Chapter 3 第3章 JVM线程

3.1 为什么需要多线程

3.2 多线程带来的问题

3.3 Java内存模型与线程规范

3.4 内存一致性协议

3.5 内存屏障

3.6 JVM的线程

3.7 Java线程创建过程

3.8 Java线程生命周期

3.9 小结

Chapter 4 第4章 JVM线程通信原理

4.1 ParkEvent原理

4.2 Parker实现原理

4.3 sleep方法实现原理

4.4 ObjectMonitor实现原理

4.5 wait与notify方法实现原理

4.6 yield方法实现原理

4.7 join方法实现原理

4.8 stop方法实现原理

4.9 interrupt方法实现原理

4.10 小结

Chapter 5 第5章 JVM线程同步机制

5.1 Mark Word

5.2 synchronized设计原理

5.3 synchronized源码分析

5.4 volatile实现原理

5.5 volatile伪共享

5.6 CAS硬件同步原语

5.7 Unsafe功能介绍

5.8 Unsafe实现原理

5.9 LockSupport实现原理

5.10 小结

进阶篇

Chapter 6 第6章 Java锁实现原理

6.1 CPU架构

6.2 自旋锁的诞生

6.3 MCS锁的实现

6.4 CLH锁的实现

6.5 AQS设计原理

6.6 AQS实现过程

6.7 ReentrantLock实现原理

6.8 ReentrantReadWriteLock实现原理

6.9 CountDownLatch实现原理

6.10 小结

Chapter 7 第7章 Java原子操作类实现原理

7.1 AtomicInteger实现原理

7.2 AtomicBoolean实现原理

7.3 AtomicIntegerArray实现原理

7.4 AtomicIntegerFieldUpdater实现原理

7.5 long的原子性修改实现原理

7.6 LongAdder实现原理

7.7 小结

Chapter 8 第8章 Java并发容器实现原理

8.1 CopyOnWriteArrayList实现原理

8.2 ConcurrentHashMap实现原理

8.3 ConcurrentSkipListMap实现原理

8.4 LinkedBlockingQueue实现原理

8.5 ArrayBlockingQueue实现原理

8.6 SynchronousQueue实现原理

8.7 LinkedBlockingDeque实现原理

8.8 小结

Chapter 9 第9章 Java线程池实现原理

9.1 对象池设计模式

9.2 生产者-消费者模式

9.3 普通线程池的实现原理

9.4 FutureTask实现原理

9.5 ScheduledThreadPoolExecutor实现原理

9.6 Executors实现原理

9.7 小结

应用篇

Chapter 10 第10章 Java线程池使用

10.1 线程池的使用模型

10.2 本地缓存实现

10.3 多线程异步执行

10.4 批量处理任务的执行

10.5 并发排队队列

10.6 小结

Chapter 11 第11章 Java多线程编程技巧

11.1 线程异常处理

11.2 线程正确关闭

11.3 线程死锁

11.4 并发容器的使用

11.5 小结