书籍 JAVA多线程与大数据处理实战的封面

JAVA多线程与大数据处理实战PDF电子书下载

李建平著

购买点数

20

出版社

出版时间

2020

ISBN

标注页数

0 页

PDF页数

320 页

图书目录

第1章 Java多线程基础 1

1.1 初识线程 2

1.1.1 线程是什么? 2

1.1.2 单线程与多线程 4

1.1.3 多线程的优势 5

1.1.4 守护线程与用户线程 7

1.2 Java线程的创建方法 8

1.2.1 继承Thread类创建线程 8

1.2.2 实现Runnable接口创建线程 10

1.2.3 实现Callable接口创建线程 12

1.2.4 三种线程创建方法的对比 15

1.3 搭建集成开发环境运行Java多线程 18

1.3.1 安装Java 8 19

1.3.2 环境变量的配置与测试 20

1.3.3 下载与安装IntelliJ IDEA 21

1.3.4 使用IntelliJ IDEA编写Java多线程 22

第2章 线程的生命周期 24

2.1 线程的状态 25

2.1.1 线程的六种状态 25

2.1.2 线程状态的获取方法 29

2.1.3 线程的活动情况获取方法 31

2.2 线程的生命周期 33

2.2.1 线程的生命周期图谱 33

2.2.2 线程的生命周期图谱分析一:新建和可运行中的就绪 34

2.2.3 线程的生命周期图谱分析二:可运行和阻塞 35

2.2.4 线程的生命周期图谱分析三:等待与恢复 38

2.2.5 线程的终止与关闭 39

2.3 多线程的优先级 40

2.3.1 线程的优先级范围 40

2.3.2 设置线程的优先级 41

2.3.3 多线程下的线程优先级体现 42

2.3.4 守护线程的运行 43

第3章 多线程的调度方式 49

3.1 多线程的调度概述 50

3.1.1 操作系统的调度原理 50

3.1.2 抢占式调度 51

3.1.3 非抢占式调度 51

3.1.4 多线程的上下文环境切换 52

3.2 线程的睡眠、等待与让步 52

3.2.1 线程的sleep()方法 53

3.2.2 线程的wait()方法 53

3.2.3 线程的yield()方法 56

3.2.4 wait()方法与sleep()方法的对比 58

3.3 多线程的唤醒 60

3.3.1 线程的notify()方法 60

3.3.2 多线程的notifyAll()方法 62

3.4 多线程的插队 62

3.4.1 线程的join()方法 63

3.4.2 调大线程的优先级 64

3.4.3 线程安全与线程不安全的表现 66

第4章 多线程的线程组与线程池 71

4.1 线程组 72

4.1.1 什么是线程组 72

4.1.2 线程组的创建与使用 73

4.2 线程池 79

4.2.1 什么是线程池 79

4.2.2 线程池的实现原理 80

4.2.3 线程池的创建与使用 90

4.3 多线程管理 93

4.3.1 多线程管理常用方法 94

4.3.2 多线程的监控 94

第5章 多线程的异常处理 97

5.1 异常的基本概念 98

5.1.1 Exception与Error 98

5.1.2 异常的抛出 98

5.2 Java中的异常处理 100

5.2.1 异常处理的一般形式:try-catch 100

5.2.2 使用finally进行最后处理 102

5.3 Java多线程的异常 103

5.3.1 常见的多线程异常 103

5.3.2 Future的get()方法获取异常 106

5.3.3 多线程的安全关闭 107

5.4 自定义多线程异常处理 109

5.4.1 创建切合业务的自定义线程异常处理类 109

5.4.2 捕获多线程运行时的自定义异常 110

第6章 多线程定时任务TimerTask 112

6.1 定时任务 113

6.1.1 初识定时任务 113

6.1.2 Java的定时器Timer类 114

6.1.3 Java的定时器任务TimerTask抽象类 116

6.2 多线程定时任务 118

6.2.1 创建多个任务 118

6.2.2 ScheduledExecutorService运行多任务 119

6.2.3 其他常见Java定时任务调度框架简介 121

第7章 多线程并发处理 122

7.1 多线程的并发基础 123

7.1.1 多线程的原子性 123

7.1.2 多线程的内存可见性 127

7.1.3 多线程的避免指令重排序 131

7.2 Java的多线程的同步 133

7.2.1 什么是同步 133

7.2.2 synchronized关键字 134

7.2.3 volatile关键字 139

7.2.4 多线程的同步锁机制 139

7.2.5 多线程的死锁和活锁 139

7.3 多线程的异步 144

7.3.1 什么是异步 144

7.3.2 生产者/消费者 144

7.3.3 多线程的同步与异步的比较 147

7.4 多线程的并发处理工具 149

7.4.1 多线程计数器CountDownLatch 150

7.4.2 信号量Semaphore 151

7.4.3 ThreadLocal多线程并发的变量隔离 153

7.4.4 多线程数据交换Exchanger 155

第8章 批处理Spring Batch与多线程 157

8.1 Spring Batch概述 158

8.1.1 Spring Batch的基本组件 158

8.1.2 Job的实例及各组件间的关系 158

8.1.3 Spring Batch的配置 159

8.1.4 Job的注解与配置 160

8.2 Spring Batch的监听机制 164

8.2.1 Spring Batch监听器 164

8.2.2 创建Spring Batch的监听器 165

8.2.3 为Job加入监听器 166

8.3 Spring Batch的事务处理机制 167

8.3.1 Spring Batch的事务简介 167

8.3.2 Spring Batch的事务配置 168

8.3.3 Spring Batch的事务使用 169

8.3.4 其他代码讲解 173

8.4 Spring Batch与多线程 177

8.4.1 Spring Batch的容错机制 177

8.4.2 Spring Batch Job的加速执行 179

8.4.3 Spring Batch Step的多线程设置 180

第9章 大数据任务调度框架Quartz与多线程 181

9.1 Quartz概述 182

9.1.1 强大的开源Java定时任务调度框架 182

9.1.2 Quartz的基本组件 182

9.1.3 Quartz与JavaTimer对比 182

9.2 Quartz的持久化 183

9.2.1 Quartz的数据库建表分析 183

9.2.2 Java项目引入Quartz的持久化配置 188

9.2.3 实例化Quartz 189

9.3 Quartz中的多线程设置 189

9.3.1 创建Job 190

9.3.2 设置策略 192

9.3.3 多线程的Job运行 196

9.3.4 Job的状态监控 201

9.3.5 Quartz的数据清除 203

第10章 大数据中间件Kafka与多线程 206

10.1 大数据中间件Kafka概述 207

10.1.1 什么是中间件 207

10.1.2 消息中间件 208

10.1.3 大数据消息中间件Kafka 208

10.2 Kafka的组件 209

10.2.1 Broker 209

10.2.2 Topic 209

10.2.3 Partition 210

10.2.4 Segment 211

10.2.5 Offset 211

10.3 Kafka的高可用方案 212

10.3.1 Kafka集群 212

10.3.2 Kafka的复制副本策略 212

10.3.3 Kafka副本的分布与数据恢复 213

10.4 Kafka的安装与配置 213

10.4.1 分布式Zookeeper 214

10.4.2 单机版Kafka搭建 214

10.4.3 集群版Kafka搭建 216

10.5 Kafka的多线程 219

10.5.1 Kafka的消息消费 220

10.5.2 Kafka的多线程分析 221

10.5.3 Kafka的消费负载均衡 224

第11章 多线程实战训练 225

11.1 多线程模拟交通信号灯 226

11.2 多线程处理多文件上传 235

11.3 多线程加速数据获取 251

11.4 大数据消息中心的设计 264

查看更多关于的内容

出版社其它书籍
本类热门
在线购买PDF电子书
下载此书RAR压缩包