展开全部

主编推荐语

本书包含基础篇、高级篇和应用实践篇,涵盖线程知识、并发组件原理及问题解决方法。

内容简介

本书分为基础篇,高级篇和应用实践篇,其中基础篇讲解了线程的知识和并发编程中常用的概念以及基础知识点,高级篇则摘录并发包下常用的并发组件的原理进行讲解,应用实践篇则讲解并发组件的具体使用和并发编程中会遇到的一些并发问题已经解决方法。

目录

  • 封面
  • 书名页
  • 内容简介
  • 版权页
  • 业界好评
  • 前 言
  • 目录
  • 第一部分 Java并发编程基础篇
  • 第1章 并发编程线程基础
  • 1.1 什么是线程
  • 1.2 线程创建与运行
  • 1.3 线程通知与等待
  • 1.4 等待线程执行终止的join方法
  • 1.5 让线程睡眠的sleep方法
  • 1.6 让出CPU执行权的yield方法
  • 1.7 线程中断
  • 1.8 理解线程上下文切换
  • 1.9 线程死锁
  • 1.9.1 什么是线程死锁
  • 1.9.2 如何避免线程死锁
  • 1.10 守护线程与用户线程
  • 1.11 ThreadLocal
  • 1.11.1 ThreadLocal使用示例
  • 1.11.2 ThreadLocal的实现原理
  • 1.11.3 ThreadLocal不支持继承性
  • 1.11.4 InheritableThreadLocal类
  • 第2章 并发编程的其他基础知识
  • 2.1 什么是多线程并发编程
  • 2.2 为什么要进行多线程并发编程
  • 2.3 Java中的线程安全问题
  • 2.4 Java中共享变量的内存可见性问题
  • 2.5 Java中的synchronized关键字
  • 2.5.1 synchronized关键字介绍
  • 2.5.2 synchronized的内存语义
  • 2.6 Java中的volatile关键字
  • 2.7 Java中的原子性操作
  • 2.8 Java中的CAS操作
  • 2.9 Unsafe类
  • 2.9.1 Unsafe类中的重要方法
  • 2.9.2 如何使用Unsafe类
  • 2.10 Java指令重排序
  • 2.11 伪共享
  • 2.11.1 什么是伪共享
  • 2.11.2 为何会出现伪共享
  • 2.11.3 如何避免伪共享
  • 2.11.4 小结
  • 2.12 锁的概述
  • 2.12.1 乐观锁与悲观锁
  • 2.12.2 公平锁与非公平锁
  • 2.12.3 独占锁与共享锁
  • 2.12.4 什么是可重入锁
  • 2.12.5 自旋锁
  • 2.13 总结
  • 第二部分 Java并发编程高级篇
  • 第3章 Java并发包中ThreadLocalRandom类原理剖析
  • 3.1 Random类及其局限性
  • 3.2 ThreadLocalRandom
  • 3.3 源码分析
  • 3.4 总结
  • 第4章 Java并发包中原子操作类原理剖析
  • 4.1 原子变量操作类
  • 4.2 JDK 8新增的原子操作类LongAdder
  • 4.2.1 LongAdder简单介绍
  • 4.2.2 LongAdder代码分析
  • 4.2.3 小结
  • 4.3 LongAccumulator类原理探究
  • 4.4 总结
  • 第5章 Java并发包中并发List源码剖析
  • 5.1 介绍
  • 5.2 主要方法源码解析
  • 5.2.1 初始化
  • 5.2.2 添加元素
  • 5.2.3 获取指定位置元素
  • 5.2.4 修改指定元素
  • 5.2.5 删除元素
  • 5.2.6 弱一致性的迭代器
  • 5.3 总结
  • 第6章 Java并发包中锁原理剖析
  • 6.1 LockSupport工具类
  • 6.2 抽象同步队列AQS概述
  • 6.2.1 AQS——锁的底层支持
  • 6.2.2 AQS——条件变量的支持
  • 6.2.3 基于AQS实现自定义同步器
  • 6.3 独占锁ReentrantLock的原理
  • 6.3.1 类图结构
  • 6.3.2 获取锁
  • 6.3.3 释放锁
  • 6.3.4 案例介绍
  • 6.3.5 小结
  • 6.4 读写锁ReentrantReadWriteLock的原理
  • 6.4.1 类图结构
  • 6.4.2 写锁的获取与释放
  • 6.4.3 读锁的获取与释放
  • 6.4.4 案例介绍
  • 6.4.5 小结
  • 6.5 JDK 8中新增的StampedLock锁探究
  • 6.5.1 概述
  • 6.5.2 案例介绍
  • 6.5.3 小结
  • 第7章 Java并发包中并发队列原理剖析
  • 7.1 ConcurrentLinkedQueue原理探究
  • 7.1.1 类图结构
  • 7.1.2 ConcurrentLinkedQueue原理介绍
  • 7.1.3 小结
  • 7.2 LinkedBlockingQueue原理探究
  • 7.2.1 类图结构
  • 7.2.2 LinkedBlockingQueue原理介绍
  • 7.2.3 小结
  • 7.3 ArrayBlockingQueue原理探究
  • 7.3.1 类图结构
  • 7.3.2 ArrayBlockingQueue原理介绍
  • 7.3.3 小结
  • 7.4 PriorityBlockingQueue原理探究
  • 7.4.1 介绍
  • 7.4.2 PriorityBlockingQueue类图结构
  • 7.4.3 原理介绍
  • 7.4.4 案例介绍
  • 7.4.5 小结
  • 7.5 DelayQueue原理探究
  • 7.5.1 DelayQueue类图结构
  • 7.5.2 主要函数原理讲解
  • 7.5.3 案例介绍
  • 7.5.4 小结
  • 第8章 Java并发包中线程池ThreadPoolExecutor原理探究
  • 8.1 介绍
  • 8.2 类图介绍
  • 8.3 源码分析
  • 8.3.1 public void execute(Runnable command)
  • 8.3.2 工作线程Worker的执行
  • 8.3.3 shutdown操作
  • 8.3.4 shutdownNow操作
  • 8.3.5 awaitTermination操作
  • 8.4 总结
  • 第9章 Java并发包中ScheduledThreadPoolExecutor原理探究
  • 9.1 介绍
  • 9.2 类图介绍
  • 9.3 原理剖析
  • 9.3.1 schedule(Runnable command,long delay,TimeUnit unit)方法
  • 9.3.2 scheduleWithFixedDelay(Runnable command,long initialDelay,long delay,TimeUnit unit)方法
  • 9.3.3 scheduleAtFixedRate(Runnable command,long initialDelay,long period,TimeUnit unit)方法
  • 9.4 总结
  • 第10章 Java并发包中线程同步器原理剖析
  • 10.1 CountDownLatch原理剖析
  • 10.1.1 案例介绍
  • 10.1.2 实现原理探究
  • 10.1.3 小结
  • 10.2 回环屏障CyclicBarrier原理探究
  • 10.2.1 案例介绍
  • 10.2.2 实现原理探究
  • 10.2.3 小结
  • 10.3 信号量Semaphore原理探究
  • 10.3.1 案例介绍
  • 10.3.2 实现原理探究
  • 10.3.3 小结
  • 10.4 总结
  • 第三部分 Java并发编程实践篇
  • 第11章 并发编程实践
  • 11.1 ArrayBlockingQueue的使用
  • 11.1.1 异步日志打印模型概述
  • 11.1.2 异步日志与具体实现
  • 11.1.3 小结
  • 11.2 Tomcat的NioEndPoint中ConcurrentLinkedQueue的使用
  • 11.2.1 生产者——Acceptor线程
  • 11.2.2 消费者——Poller线程
  • 11.2.3 小结
  • 11.3 并发组件ConcurrentHashMap使用注意事项
  • 11.4 SimpleDateFormat是线程不安全的
  • 11.4.1 问题复现
  • 11.4.2 问题分析
  • 11.4.3 小结
  • 11.5 使用Timer时需要注意的事情
  • 11.5.1 问题的产生
  • 11.5.2 Timer实现原理分析
  • 11.5.3 小结
  • 11.6 对需要复用但是会被下游修改的参数要进行深复制
  • 11.6.1 问题的产生
  • 11.6.2 问题分析
  • 11.6.3 小结
  • 11.7 创建线程和线程池时要指定与业务相关的名称
  • 11.7.1 创建线程需要有线程名
  • 11.7.2 创建线程池时也需要指定线程池的名称
  • 11.7.3 小结
  • 11.8 使用线程池的情况下当程序结束时记得调用shutdown关闭线程池
  • 11.8.1 问题复现
  • 11.8.2 问题分析
  • 11.8.3 小结
  • 11.9 线程池使用FutureTask时需要注意的事情
  • 11.9.1 问题复现
  • 11.9.2 问题分析
  • 11.9.3 小结
  • 11.10 使用ThreadLocal不当可能会导致内存泄漏
  • 11.10.1 为何会出现内存泄漏
  • 11.10.2 在线程池中使用ThreadLocal导致的内存泄漏
  • 11.10.3 在Tomcat的Servlet中使用ThreadLocal导致内存泄漏
  • 11.10.4 小结
  • 11.11 总结
  • 封底
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。