封面
版权信息
内容简介
前言
基础篇
Chapter 1 第1章 Linux线程基础
1.1 Linux进程
1.1.1 深入理解进程
1.1.2 进程描述符
1.1.3 进程创建
1.1.4 上下文切换
1.2 Linux进程间通信
1.2.1 信号
1.2.2 管道
1.2.3 共享内存
1.2.4 FIFO队列
1.2.5 消息队列
1.2.6 Socket
1.3 CPU任务调度
1.3.1 实时进程与普通进程
1.3.2 实时调度策略
1.3.3 普通调度策略
1.3.4 CFS调度算法
1.3.5 整体任务调度
1.4 Linux线程
1.4.1 Pthread简介
1.4.2 线程创建
1.4.3 线程终止
1.5 线程同步:互斥量
1.5.1 创建互斥量
1.5.2 互斥量解锁
1.5.3 mutex示例
1.6 线程同步:条件变量
1.6.1 创建条件变量
1.6.2 条件变量等待
1.6.3 条件变量通知
1.6.4 条件变量使用示例
1.7 线程同步:信号量
1.7.1 初始化未命名信号量
- APP免费
1.7.2 等待一个信号量
- APP免费
1.7.3 发布一个信号量
- APP免费
1.8 小结
- APP免费
Chapter 2 第2章 JVM基础知识
- APP免费
2.1 Java、JDK、JRE与JVM
- APP免费
2.2 Java跨平台原理
- APP免费
2.3 JVM系统架构
- APP免费
2.3.1 类加载子系统
- APP免费
2.3.2 运行时数据区
- APP免费
2.3.3 执行引擎
- APP免费
2.4 JVM与操作系统的线程模型
- APP免费
2.4.1 操作系统的线程模型
- APP免费
2.4.2 JVM的线程模型
- APP免费
2.5 JNI机制
- APP免费
2.5.1 JNI开发流程
- APP免费
2.5.2 JNI数据类型转换
- APP免费
2.5.3 实现案例
- APP免费
2.6 小结
- APP免费
Chapter 3 第3章 JVM线程
- APP免费
3.1 为什么需要多线程
- APP免费
3.1.1 CPU访问各组件周期
- APP免费
3.1.2 多线程的出现
- APP免费
3.2 多线程带来的问题
- APP免费
3.2.1 CPU缓存导致的可见性问题
- APP免费
3.2.2 线程上下文切换带来的原子性问题
- APP免费
3.2.3 优化带来的乱序问题
- APP免费
3.3 Java内存模型与线程规范
- APP免费
3.3.1 变量共享
- APP免费
3.3.2 变量共享的内存可见性
- APP免费
3.3.3 Happens-Before规则
- APP免费
3.4 内存一致性协议
- APP免费
3.4.1 CPU缓存读取策略
- APP免费
3.4.2 CPU缓存写入策略
- APP免费
3.4.3 MESI协议
- APP免费
3.5 内存屏障
- APP免费
3.5.1 内存读写屏障
- APP免费
3.5.2 内存屏障的实现
- APP免费
3.5.3 JVM内存屏障指令实现
- APP免费
3.6 JVM的线程
- APP免费
3.7 Java线程创建过程
- APP免费
3.7.1 线程创建
- APP免费
3.7.2 线程执行
- APP免费
3.8 Java线程生命周期
- APP免费
3.8.1 Java线程生命周期模型
- APP免费
3.8.2 查看线程的状态
- APP免费
3.9 小结
- APP免费
Chapter 4 第4章 JVM线程通信原理
- APP免费
4.1 ParkEvent原理
- APP免费
4.1.1 Allocate方法
- APP免费
4.1.2 Rlease方法
- APP免费
4.1.3 park方法
- APP免费
4.1.4 unpark方法
- APP免费
4.2 Parker实现原理
- APP免费
4.2.1 park方法
- APP免费
4.2.2 unpark方法
- APP免费
4.3 sleep方法实现原理
- APP免费
4.3.1 JVM_Sleep函数
- APP免费
4.3.2 sleep函数
- APP免费
4.4 ObjectMonitor实现原理
- APP免费
4.4.1 数据结构
- APP免费
4.4.2 ObjectMonitor的构造函数
- APP免费
4.4.3 ObjectWaiter源代码
- APP免费
4.4.4 TryLock方法
- APP免费
4.4.5 EnterI方法
- APP免费
4.4.6 ReenterI方法
- APP免费
4.4.7 enter方法
- APP免费
4.4.8 exit方法
- APP免费
4.4.9 ExitEpilog方法
- APP免费
4.5 wait与notify方法实现原理
- APP免费
4.5.1 设计原理
- APP免费
4.5.2 wait方法实现原理
- APP免费
4.5.3 notify方法实现原理
- APP免费
4.5.4 notifyAll方法实现原理
- APP免费
4.6 yield方法实现原理
- APP免费
4.7 join方法实现原理
- APP免费
4.7.1 JVM_IsThreadAlive
- APP免费
4.7.2 ensure_join
- APP免费
4.8 stop方法实现原理
- APP免费
4.8.1 JVM_StopThread
- APP免费
4.8.2 HAS_PENDING_EXCEPTION
- APP免费
4.9 interrupt方法实现原理
- APP免费
4.10 小结
- APP免费
Chapter 5 第5章 JVM线程同步机制
- APP免费
5.1 Mark Word
- APP免费
5.1.1 Mark Word详解
- APP免费
5.1.2 hashCode验证
- APP免费
5.1.3 轻量级锁的状态信息
- APP免费
5.1.4 重量级锁的状态信息
- APP免费
5.2 synchronized设计原理
- APP免费
5.2.1 synchronized的使用
- APP免费
5.2.2 synchronized的具体设计
- APP免费
5.3 synchronized源码分析
- APP免费
5.3.1 ACC_SYNCHRONIZED解析过程
- APP免费
5.3.2 monitorenter指令解析过程
- APP免费
5.3.3 monitorexit指令解析过程
- APP免费
5.3.4 锁获取实现过程
- APP免费
5.3.5 锁释放实现过程
- APP免费
5.4 volatile实现原理
- APP免费
5.4.1 实现原理概述
- APP免费
5.4.2 getfield指令实现过程
- APP免费
5.4.3 putfield指令实现过程
- APP免费
5.5 volatile伪共享
- APP免费
5.6 CAS硬件同步原语
- APP免费
5.6.1 CAS硬件原语
- APP免费
5.6.2 JVM CAS实现
- APP免费
5.6.3 ABA问题
- APP免费
5.7 Unsafe功能介绍
- APP免费
5.7.1 操作内存
- APP免费
5.7.2 获取字段内存偏移量
- APP免费
5.7.3 普通字段的读取与赋值
- APP免费
5.7.4 volatile字段的读取与赋值
- APP免费
5.7.5 CAS操作能力
- APP免费
5.7.6 线程阻塞与唤醒
- APP免费
5.7.7 内存屏障
- APP免费
5.8 Unsafe实现原理
- APP免费
5.8.1 volatile字段读取
- APP免费
5.8.2 volatile字段写入
- APP免费
5.8.3 CAS操作能力
- APP免费
5.8.4 线程阻塞与唤醒
- APP免费
5.9 LockSupport实现原理
- APP免费
5.9.1 Unsafe初始化
- APP免费
5.9.2 无阻塞对象方法
- APP免费
5.9.3 有阻塞对象方法
- APP免费
5.9.4 线程唤醒
- APP免费
5.10 小结
- APP免费
进阶篇
- APP免费
Chapter 6 第6章 Java锁实现原理
- APP免费
6.1 CPU架构
- APP免费
6.1.1 SMP
- APP免费
6.1.2 NUMA
- APP免费
6.1.3 SMP与NUMA比较
- APP免费
6.2 自旋锁的诞生
- APP免费
6.2.1 SPIN ON TEST-AND-SET
- APP免费
6.2.2 TEST-AND-TEST-AND-SET
- APP免费
6.2.3 DELAY BETWEEN EACH REFERENCE
- APP免费
6.2.4 READ-AND-INCREMENT
- APP免费
6.3 MCS锁的实现
- APP免费
6.3.1 获取锁的过程
- APP免费
6.3.2 释放锁的过程
- APP免费
6.3.3 MCS锁的特征
- APP免费
6.3.4 锁的实现案例
- APP免费
6.3.5 MCS锁的不足
- APP免费
6.4 CLH锁的实现
- APP免费
6.4.1 获取锁的过程
- APP免费
6.4.2 释放锁的过程
- APP免费
6.4.3 CLH锁与MCS锁的对比
- APP免费
6.4.4 锁的实现案例
- APP免费
6.5 AQS设计原理
- APP免费
6.5.1 功能与特征
- APP免费
6.5.2 设计原理
- APP免费
6.5.3 设计模式
- APP免费
6.6 AQS实现过程
- APP免费
6.6.1 逻辑架构
- APP免费
6.6.2 状态管理
- APP免费
6.6.3 队列管理
- APP免费
6.6.4 线程与队列管理层
- APP免费
6.6.5 锁的逻辑实现
- APP免费
6.6.6 扩展接口层
- APP免费
6.6.7 API层
- APP免费
6.7 ReentrantLock实现原理
- APP免费
6.7.1 源码简介
- APP免费
6.7.2 基础同步器
- APP免费
6.7.3 非公平锁策略
- APP免费
6.7.4 公平锁策略
- APP免费
6.7.5 ReentrantLock实现
- APP免费
6.8 ReentrantReadWriteLock实现原理
- APP免费
6.8.1 设计模式
- APP免费
6.8.2 锁状态设计
- APP免费
6.8.3 共享锁重入次数设计
- APP免费
6.8.4 获取写锁状态
- APP免费
6.8.5 释放写锁状态
- APP免费
6.8.6 获取读锁状态
- APP免费
6.8.7 释放读锁状态
- APP免费
6.8.8 获取写锁
- APP免费
6.8.9 获取读锁
- APP免费
6.8.10 ReentrantReadWriteLock实现
- APP免费
6.9 CountDownLatch实现原理
- APP免费
6.9.1 设计原理
- APP免费
6.9.2 Sync源码分析
- APP免费
6.9.3 CountDownLatch源码分析
- APP免费
6.10 小结
- APP免费
Chapter 7 第7章 Java原子操作类实现原理
- APP免费
7.1 AtomicInteger实现原理
- APP免费
7.1.1 设计原理
- APP免费
7.1.2 源码分析
- APP免费
7.2 AtomicBoolean实现原理
- APP免费
7.2.1 设计原理
- APP免费
7.2.2 源码分析
- APP免费
7.3 AtomicIntegerArray实现原理
- APP免费
7.3.1 设计原理
- APP免费
7.3.2 源码分析
- APP免费
7.4 AtomicIntegerFieldUpdater实现原理
- APP免费
7.4.1 设计原理
- APP免费
7.4.2 AtomicIntegerFieldUpdater源码分析
- APP免费
7.4.3 AtomicIntegerFieldUpdaterImpl源码分析
- APP免费
7.5 long的原子性修改实现原理
- APP免费
7.5.1 AtomicLong
- APP免费
7.5.2 AtomicLongArray
- APP免费
7.5.3 AtomicLongFieldUpdater
- APP免费
7.6 LongAdder实现原理
- APP免费
7.6.1 设计原理
- APP免费
7.6.2 源码分析
- APP免费
7.7 小结
- APP免费
Chapter 8 第8章 Java并发容器实现原理
- APP免费
8.1 CopyOnWriteArrayList实现原理
- APP免费
8.1.1 设计原理
- APP免费
8.1.2 源码分析
- APP免费
8.2 ConcurrentHashMap实现原理
- APP免费
8.2.1 HashTable设计原理
- APP免费
8.2.2 ConcurrentHashMap 1.7设计原理
- APP免费
8.2.3 ConcurrentHashMap 1.8设计原理
- APP免费
8.2.4 源码分析
- APP免费
8.3 ConcurrentSkipListMap实现原理
- APP免费
8.3.1 设计原理
- APP免费
8.3.2 源码分析
- APP免费
8.4 LinkedBlockingQueue实现原理
- APP免费
8.4.1 设计原理
- APP免费
8.4.2 源码分析
- APP免费
8.5 ArrayBlockingQueue实现原理
- APP免费
8.5.1 设计原理
- APP免费
8.5.2 源码分析
- APP免费
8.6 SynchronousQueue实现原理
- APP免费
8.6.1 设计原理
- APP免费
8.6.2 源码分析
- APP免费
8.7 LinkedBlockingDeque实现原理
- APP免费
8.7.1 设计原理
- APP免费
8.7.2 源码分析
- APP免费
8.8 小结
- APP免费
Chapter 9 第9章 Java线程池实现原理
- APP免费
9.1 对象池设计模式
- APP免费
9.2 生产者-消费者模式
- APP免费
9.2.1 设计原理
- APP免费
9.2.2 实现案例
- APP免费
9.3 普通线程池的实现原理
- APP免费
9.3.1 设计原理
- APP免费
9.3.2 源码分析
- APP免费
9.4 FutureTask实现原理
- APP免费
9.4.1 设计原理
- APP免费
9.4.2 源码分析
- APP免费
9.5 ScheduledThreadPoolExecutor实现原理
- APP免费
9.5.1 设计原理
- APP免费
9.5.2 源码分析
- APP免费
9.6 Executors实现原理
- APP免费
9.7 小结
- APP免费
应用篇
- APP免费
Chapter 10 第10章 Java线程池使用
- APP免费
10.1 线程池的使用模型
- APP免费
10.1.1 单线程提交-多线程处理
- APP免费
10.1.2 单线程提交-单线程处理
- APP免费
10.1.3 多线程提交-单线程处理
- APP免费
10.1.4 多线程提交-多线程处理
- APP免费
10.2 本地缓存实现
- APP免费
10.2.1 设计原理
- APP免费
10.2.2 实现方案
- APP免费
10.3 多线程异步执行
- APP免费
10.3.1 设计原理
- APP免费
10.3.2 实现方案
- APP免费
10.3.3 改进方案
- APP免费
10.4 批量处理任务的执行
- APP免费
10.4.1 设计原理
- APP免费
10.4.2 实现方案
- APP免费
10.5 并发排队队列
- APP免费
10.5.1 设计原理
- APP免费
10.5.2 实现方案
- APP免费
10.6 小结
- APP免费
Chapter 11 第11章 Java多线程编程技巧
- APP免费
11.1 线程异常处理
- APP免费
11.2 线程正确关闭
- APP免费
11.2.1 使用退出标志终止线程
- APP免费
11.2.2 使用interrupt方法中断线程
- APP免费
11.2.3 使用stop方法终止线程
- APP免费
11.3 线程死锁
- APP免费
11.3.1 锁顺序性死锁
- APP免费
11.3.2 动态执行死锁
- APP免费
11.3.3 死锁检测
- APP免费
11.3.4 死锁规避
- APP免费
11.4 并发容器的使用
- APP免费
11.4.1 List的使用
- APP免费
11.4.2 Map的使用
- APP免费
11.4.3 Set的使用
- APP免费
11.4.4 Queue的使用
- APP免费
11.5 小结
- APP免费
作者简介
- APP免费
文后
更新时间:2024-07-25 15:33:02