5.0 用户推荐指数
互联网
类型
7.6
豆瓣评分
可以朗读
语音朗读
196千字
字数
2015-07-01
发行日期
展开全部
主编推荐语
阿里系和1号店资深技术专家撰写,Java并发编程领域的扛鼎之作。
内容简介
第1章介绍Java并发编程的挑战,会向读者说明可能会遇到哪些问题,以及如何解决。第2章Java并发编程的底层实现原理,从CPU和JVM2个层面剖析。第3章详细深入介绍了Java的内存模型。第4章从介绍多线程技术带来的好处开始,讲述了如何启动和终止线程以及线程的状态,详细阐述了多线程之间进行通信的基本方式和等待/通知经典范式。第5章介绍Java并发包中与锁相关的API和组件,以及这些API和组件的使用方式和实现细节。第6章介绍了Java中的大部分并发容器及其实现原理。第7章介绍了Java中的原子操作类,并给出一些实例。第8章介绍了Java中提供的很多并发工具类。第9章介绍了Java中的线程池实现原理和使用建议。第10章介绍了Executor框架的整体结构和成员组件。第11章介绍几个并发编程的实战与并发编程问题排查。
目录
- 版权信息
- 前言
- 第1章 并发编程的挑战
- 1.1 上下文切换
- 1.1.1 多线程一定快吗
- 1.1.2 测试上下文切换次数和时长
- 1.1.3 如何减少上下文切换
- 1.1.4 减少上下文切换实战
- 1.2 死锁
- 1.3 资源限制的挑战
- 1.4 本章小结
- 第2章 Java并发机制的底层实现原理
- 2.1 volatile的应用
- 2.2 synchronized的实现原理与应用
- 2.2.1 Java对象头
- 2.2.2 锁的升级与对比
- 2.3 原子操作的实现原理
- 2.4 本章小结
- 第3章 Java内存模型
- 3.1 Java内存模型的基础
- 3.1.1 并发编程模型的两个关键问题
- 3.1.2 Java内存模型的抽象结构
- 3.1.3 从源代码到指令序列的重排序
- 3.1.4 并发编程模型的分类
- 3.1.5 happens-before简介
- 3.2 重排序
- 3.2.1 数据依赖性
- 3.2.2 as-if-serial语义
- 3.2.3 程序顺序规则
- 3.2.4 重排序对多线程的影响
- 3.3 顺序一致性
- 3.3.1 数据竞争与顺序一致性
- 3.3.2 顺序一致性内存模型
- 3.3.3 同步程序的顺序一致性效果
- 3.3.4 未同步程序的执行特性
- 3.4 volatile的内存语义
- 3.4.1 volatile的特性
- 3.4.2 volatile写-读建立的happens-before关系
- 3.4.3 volatile写-读的内存语义
- 3.4.4 volatile内存语义的实现
- 3.4.5 JSR-133为什么要增强volatile的内存语义
- 3.5 锁的内存语义
- 3.5.1 锁的释放-获取建立的happens-before关系
- 3.5.2 锁的释放和获取的内存语义
- 3.5.3 锁内存语义的实现
- 3.5.4 concurrent包的实现
- 3.6 final域的内存语义
- 3.6.1 final域的重排序规则
- 3.6.2 写final域的重排序规则
- 3.6.3 读final域的重排序规则
- 3.6.4 final域为引用类型
- 3.6.5 为什么final引用不能从构造函数内“溢出”
- 3.6.6 final语义在处理器中的实现
- 3.6.7 JSR-133为什么要增强final的语义
- 3.7 happens-before
- 3.7.1 JMM的设计
- 3.7.2 happens-before的定义
- 3.7.3 happens-before规则
- 3.8 双重检查锁定与延迟初始化
- 3.8.1 双重检查锁定的由来
- 3.8.2 问题的根源
- 3.8.3 基于volatile的解决方案
- 3.8.4 基于类初始化的解决方案
- 3.9 Java内存模型综述
- 3.9.1 处理器的内存模型
- 3.9.2 各种内存模型之间的关系
- 3.9.3 JMM的内存可见性保证
- 3.9.4 JSR-133对旧内存模型的修补
- 3.10 本章小结
- 第4章 Java并发编程基础
- 4.1 线程简介
- 4.1.1 什么是线程
- 4.1.2 为什么要使用多线程
- 4.1.3 线程优先级
- 4.1.4 线程的状态
- 4.1.5 Daemon线程
- 4.2 启动和终止线程
- 4.2.1 构造线程
- 4.2.2 启动线程
- 4.2.3 理解中断
- 4.2.4 过期的suspend()、resume()和stop()
- 4.2.5 安全地终止线程
- 4.3 线程间通信
- 4.3.1 volatile和synchronized关键字
- 4.3.2 等待/通知机制
- 4.3.3 等待/通知的经典范式
- 4.3.4 管道输入/输出流
- 4.3.5 Thread.join()的使用
- 4.3.6 ThreadLocal的使用
- 4.4 线程应用实例
- 4.4.1 等待超时模式
- 4.4.2 一个简单的数据库连接池示例
- 4.4.3 线程池技术及其示例
- 4.4.4 一个基于线程池技术的简单Web服务器
- 4.5 本章小结
- 第5章 Java中的锁
- 5.1 Lock接口
- 5.2 队列同步器
- 5.2.1 队列同步器的接口与示例
- 5.2.2 队列同步器的实现分析
- 5.3 重入锁
- 5.4 读写锁
- 5.4.1 读写锁的接口与示例
- 5.4.2 读写锁的实现分析
- 5.5 LockSupport工具
- 5.6 Condition接口
- 5.6.1 Condition接口与示例
- 5.6.2 Condition的实现分析
- 5.7 本章小结
- 第6章 Java并发容器和框架
- 6.1 ConcurrentHashMap的实现原理与使用
- 6.1.1 为什么要使用ConcurrentHashMap
- 6.1.2 ConcurrentHashMap的结构
- 6.1.3 ConcurrentHashMap的初始化
- 6.1.4 定位Segment
- 6.1.5 ConcurrentHashMap的操作
- 6.2 ConcurrentLinkedQueue
- 6.2.1 ConcurrentLinkedQueue的结构
- 6.2.2 入队列
- 6.2.3 出队列
- 6.3 Java中的阻塞队列
- 6.3.1 什么是阻塞队列
- 6.3.2 Java里的阻塞队列
- 6.3.3 阻塞队列的实现原理
- 6.4 Fork/Join框架
- 6.4.1 什么是Fork/Join框架
- 6.4.2 工作窃取算法
- 6.4.3 Fork/Join框架的设计
- 6.4.4 使用Fork/Join框架
- 6.4.5 Fork/Join框架的异常处理
- 6.4.6 Fork/Join框架的实现原理
- 6.5 本章小结
- 第7章 Java中的13个原子操作类
- 7.1 原子更新基本类型类
- 7.2 原子更新数组
- 7.3 原子更新引用类型
- 7.4 原子更新字段类
- 7.5 本章小结
- 第8章 Java中的并发工具类
- 8.1 等待多线程完成的CountDownLatch
- 8.2 同步屏障CyclicBarrier
- 8.2.1 CyclicBarrier简介
- 8.2.2 CyclicBarrier的应用场景
- 8.2.3 CyclicBarrier和CountDownLatch的区别
- 8.3 控制并发线程数的Semaphore
- 8.4 线程间交换数据的Exchanger
- 8.5 本章小结
- 第9章 Java中的线程池
- 9.1 线程池的实现原理
- 9.2 线程池的使用
- 9.2.1 线程池的创建
- 9.2.2 向线程池提交任务
- 9.2.3 关闭线程池
- 9.2.4 合理地配置线程池
- 9.2.5 线程池的监控
- 9.3 本章小结
- 第10章 Executor框架
- 10.1 Executor框架简介
- 10.1.1 Executor框架的两级调度模型
- 10.1.2 Executor框架的结构与成员
- 10.2 ThreadPoolExecutor详解
- 10.2.1 FixedThreadPool详解
- 10.2.2 SingleThreadExecutor详解
- 10.2.3 CachedThreadPool详解
- 10.3 ScheduledThreadPoolExecutor详解
- 10.3.1 ScheduledThreadPoolExecutor的运行机制
- 10.3.2 ScheduledThreadPoolExecutor的实现
- 10.4 FutureTask详解
- 10.4.1 FutureTask简介
- 10.4.2 FutureTask的使用
- 10.4.3 FutureTask的实现
- 10.5 本章小结
- 第11章 Java并发编程实践
- 11.1 生产者和消费者模式
- 11.1.1 生产者消费者模式实战
- 11.1.2 多生产者和多消费者场景
- 11.1.3 线程池与生产消费者模式
- 11.2 线上问题定位
- 11.3 性能测试
- 11.4 异步任务池
- 11.5 本章小结
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。