饭饭TXT > 学习管理 > 《实战Java高并发程序设计(出书版)》作者:葛一鸣/郭超【完结】 > 实战Java高并发程序设计.txt

第2章 Java并行程序基础 2.1 有关线程你必须知道的事

作者:葛一鸣/郭超 当前章节:1927 字 更新时间:2026-6-23 07:00

2.2 初始线程:线程的基本操作 2.2.1 新建线程

2.2.2 终止线程

2.2.3 线程中断

2.2.4 等待(wait)和通知(notify)

2.2.5 挂起(suspend)和继续执行(resume)线程

2.2.6 等待线程结束(join)和谦让(yield)

2.3 volatile与Java内存模型(JMM)

2.4 分门别类的管理:线程组

2.5 驻守后台:守护线程(Daemon)

2.6 先干重要的事:线程优先级

2.7 线程安全的概念与synchronized

2.8 程序中的幽灵:隐蔽的错误 2.8.1 无提示的错误案例

2.8.2 并发下的ArrayList

2.8.3 并发下诡异的HashMap

2.8.4 初学者常见问题:错误的加锁

2.9 参考文献

第3章 JDK并发包 3.1 多线程的团队协作:同步控制 3.1.1 synchronized的功能扩展:重入锁

3.1.2 重入锁的好搭档:Condition条件

3.1.3 允许多个线程同时访问:信号量(Semaphore)

3.1.4 ReadWriteLock读写锁

3.1.5 倒计时器:CountDownLatch

3.1.6 循环栅栏:CyclicBarrier

3.1.7 线程阻塞工具类:LockSupport

3.2 线程复用:线程池 3.2.1 什么是线程池

3.2.2 不要重复发明轮子:JDK对线程池的支持

3.2.3 刨根究底:核心线程池的内部实现

3.2.4 超负载了怎么办:拒绝策略

3.2.5 自定义线程创建:ThreadFactory

3.2.6 我的应用我做主:扩展线程池

3.2.7 合理的选择:优化线程池线程数量

3.2.8 堆栈去哪里了:在线程池中寻找堆栈

3.2.9 分而治之:Fork/Join框架

3.3 不要重复发明轮子:JDK的并发容器 3.3.1 超好用的工具类:并发集合简介

3.3.2 线程安全的HashMap

3.3.3 有关List的线程安全

3.3.4 高效读写的队列:深度剖析ConcurrentLinkedQueue

3.3.5 高效读取:不变模式下的CopyOnWriteArrayList

3.3.6 数据共享通道:BlockingQueue

3.3.7 随机数据结构:跳表(SkipList)

3.4 参考资料

第4章 锁的优化及注意事项 4.1 有助于提高“锁”性能的几点建议 4.1.1 减小锁持有时间

4.1.2 减小锁粒度

4.1.3 读写分离锁来替换独占锁

4.1.4 锁分离

4.1.5 锁粗化

4.2 Java虚拟机对锁优化所做的努力 4.2.1 锁偏向

4.2.2 轻量级锁

4.2.3 自旋锁

4.2.4 锁消除

4.3 人手一支笔:ThreadLocal 4.3.1 ThreadLocal的简单使用

4.3.2 ThreadLocal的实现原理

4.3.3 对性能有何帮助

4.4 无锁 4.4.1 与众不同的并发策略:比较交换(CAS)

4.4.2 无锁的线程安全整数:AtomicInteger

4.4.3 Java中的指针:Unsafe类

4.4.4 无锁的对象引用:AtomicReference

4.4.5 带有时间戳的对象引用:AtomicStampedReference

4.4.6 数组也能无锁:AtomicIntegerArray

4.4.7 让普通变量也享受原子操作:AtomicIntegerFieldUpdater

4.4.8 挑战无锁算法:无锁的Vector实现

4.4.9 让线程之间互相帮助:细看SynchronousQueue的实现

4.5 有关死锁的问题

4.6 参考文献

目录
设置
设置
阅读主题
字体风格
雅黑 宋体 楷书 卡通
字体大小
适中 偏大 超大
保存设置
恢复默认
手机
手机阅读
扫码获取链接,使用浏览器打开
书架同步,随时随地,手机阅读
首 页 < 上一章 章节列表 下一章 > 尾 页