标签
内容简介
本书对Java的多线程及主流大数据中间件对数据的处理进行了较为详细的讲解。本书主要讲了Java的线程创建方法和线程的生命周期,方便我们管理多线程的线程组和线程池,设置线程的优先级,设置守护线程,学习多线程的并发、同步和异步操作,了解Java的多线程并发处理工具。
编辑推荐
本书把Java多线程基础与大数据中间件的数据处理放在同一本书里讨论,对希望从语言层面理解并发、再过渡到工程实践中的读者较有价值。内容从线程创建、生命周期讲起,涉及线程组、线程池、优先级、守护线程等常用管理手段,并延伸到并发、同步、异步操作及多线程并发处理工具,脉络相对清晰。它的亮点在于不孤立讲语法,而是把线程知识与主流大数据中间件的数据处理场景联系起来,帮助读者理解并发在真实系统中的作用。适合作为课程配套或自学中的进阶读物,建议在具备Java基础后边读边动手验证示例,重点关注线程池与并发工具的使用边界。
适合谁读
适合
- 已掌握Java基础语法、想系统学习多线程的开发者
- 需要理解大数据中间件中并发数据处理思路的工程师
- 讲授Java并发或大数据课程的教师作参考用书
- 准备面试中多线程与并发相关考点的求职者
不适合
- 完全没有Java基础、尚不熟悉类与对象的初学者
- 只想了解大数据平台架构、不关心Java并发的读者
- 期待深入分布式理论或框架源码剖析的资深工程师
阅读建议
- 先通读线程生命周期与线程池章节,再回头精读并发与同步部分,形成由浅入深的顺序。
- 每读完一个多线程示例,自己在本地改写并运行,观察不同线程池参数下的行为差异。
- 读到大数据中间件处理部分时,结合自己熟悉的一个中间件做对照笔记,记录并发设计的取舍。
- 把并发工具章节整理成一张对照表,标注各自适用场景,便于日后查阅。
出版社简介
北京大学出版社
中国 · 成立于 1979 年
北京大学出版社是一家综合性大学出版社,其出版方向涵盖古典文学、科学科普、社会文化、世界史、西方哲学与文化等领域。库内收录图书6031种,代表性图书包括《红楼梦》《狭义与广义相对论浅说(第15版)(附爱因斯坦关于统一场论及其他经典论文)》《几何原本》《圆锥曲线论》《东晋门阀政治》《神话哲学(上卷)》《神话哲学(下卷)》《海陆的起源》等。代表作者有曹雪芹、周汝昌、爱因斯坦、欧几里得、阿波罗尼奥斯、田余庆、谢林、先刚等。该社在古典文学与西方哲学原典译介方面形成特色,兼及科学经典与社会文化研究。因公开资料有限,此处仅依据库内图书呈现其出版方向,不作额外延伸。
目录
- 版权信息
- 前言
- 第1章 Java多线程基础
- 1.1 初识线程
- 1.1.1 线程是什么?
- 1.1.2 单线程与多线程
- 1.1.3 多线程的优势
- 1.1.4 守护线程与用户线程
- 1.2 Java线程的创建方法
- 1.2.1 继承Thread类创建线程
- 1.2.2 实现Runnable接口创建线程
- 1.2.3 实现Callable接口创建线程
- 1.2.4 三种线程创建方法的对比
- 1.3 搭建集成开发环境运行Java多线程
- 1.3.1 安装Java 8
- 1.3.2 环境变量的配置与测试
- 1.3.3 下载与安装IntelliJ IDEA
- 1.3.4 使用IntelliJ IDEA编写Java多线程
- 第2章 线程的生命周期
- 2.1 线程的状态
- 2.1.1 线程的六种状态
- 2.1.2 线程状态的获取方法
- 2.1.3 线程的活动情况获取方法
- 2.2 线程的生命周期
- 2.2.1 线程的生命周期图谱
- 2.2.2 线程的生命周期图谱分析一:新建和可运行中的就绪
- 2.2.3 线程的生命周期图谱分析二:可运行和阻塞
- 2.2.4 线程的生命周期图谱分析三:等待与恢复
- 2.2.5 线程的终止与关闭
- 2.3 多线程的优先级
- 2.3.1 线程的优先级范围
- 2.3.2 设置线程的优先级
- 2.3.3 多线程下的线程优先级体现
- 2.3.4 守护线程的运行
- 第3章 多线程的调度方式
- 3.1 多线程的调度概述
- 3.1.1 操作系统的调度原理
- 3.1.2 抢占式调度
- 3.1.3 非抢占式调度
- 3.1.4 多线程的上下文环境切换
- 3.2 线程的睡眠、等待与让步
- 3.2.1 线程的sleep()方法
- 3.2.2 线程的wait()方法
- 3.2.3 线程的yield()方法
- 3.2.4 wait()方法与sleep()方法的对比
- 3.3 多线程的唤醒
- 3.3.1 线程的notify()方法
- 3.3.2 多线程的notifyAll()方法
- 3.4 多线程的插队
- 3.4.1 线程的join()方法
- 3.4.2 调大线程的优先级
- 3.4.3 线程安全与线程不安全的表现
- 第4章 多线程的线程组与线程池
- 4.1 线程组
- 4.1.1 什么是线程组
- 4.1.2 线程组的创建与使用
- 4.2 线程池
- 4.2.1 什么是线程池
- 4.2.2 线程池的实现原理
- 4.2.3 线程池的创建与使用
- 4.3 多线程管理
- 4.3.1 多线程管理常用方法
- 4.3.2 多线程的监控
- 第5章 多线程的异常处理
- 5.1 异常的基本概念
- 5.1.1 Exception与Error
- 5.1.2 异常的抛出
- 5.2 Java中的异常处理
- 5.2.1 异常处理的一般形式:try-catch
- 5.2.2 使用finally进行最后处理
- 5.3 Java多线程的异常
- 5.3.1 常见的多线程异常
- 5.3.2 Future的get()方法获取异常
- 5.3.3 多线程的安全关闭
- 5.4 自定义多线程异常处理
- 5.4.1 创建切合业务的自定义线程异常处理类
- 5.4.2 捕获多线程运行时的自定义异常
- 第6章 多线程定时任务TimerTask
- 6.1 定时任务
- 6.1.1 初识定时任务
- 6.1.2 Java的定时器Timer类
- 6.1.3 Java的定时器任务TimerTask抽象类
- 6.2 多线程定时任务
- 6.2.1 创建多个任务
- 6.2.2 ScheduledExecutorService运行多任务
- 6.2.3 其他常见Java定时任务调度框架简介
- 第7章 多线程并发处理
- 7.1 多线程的并发基础
- 7.1.1 多线程的原子性
- 7.1.2 多线程的内存可见性
- 7.1.3 多线程的避免指令重排序
- 7.2 Java的多线程的同步
- 7.2.1 什么是同步
- 7.2.2 synchronized关键字
- 7.2.3 volatile关键字
- 7.2.4 多线程的同步锁机制
- 7.2.5 多线程的死锁和活锁
- 7.3 多线程的异步
- 7.3.1 什么是异步
- 7.3.2 生产者/消费者
- 7.3.3 多线程的同步与异步的比较
- 7.4 多线程的并发处理工具
- 7.4.1 多线程计数器CountDownLatch
- 7.4.2 信号量Semaphore
- 7.4.3 ThreadLocal多线程并发的变量隔离
- 7.4.4 多线程数据交换Exchanger
- 第8章 批处理Spring Batch与多线程
- 8.1 Spring Batch概述
- 8.1.1 Spring Batch的基本组件
- 8.1.2 Job的实例及各组件间的关系
- 8.1.3 Spring Batch的配置
- 8.1.4 Job的注解与配置
- 8.2 Spring Batch的监听机制
- 8.2.1 Spring Batch监听器
- 8.2.2 创建Spring Batch的监听器
- 8.2.3 为Job加入监听器
- 8.3 Spring Batch的事务处理机制
- 8.3.1 Spring Batch的事务简介
- 8.3.2 Spring Batch的事务配置
- 8.3.3 Spring Batch的事务使用
- 8.3.4 其他代码讲解
- 8.4 Spring Batch与多线程
- 8.4.1 Spring Batch的容错机制
- 8.4.2 Spring Batch Job的加速执行
- 8.4.3 Spring Batch Step的多线程设置
- 第9章 大数据任务调度框架Quartz与多线程
- 9.1 Quartz概述
- 9.1.1 强大的开源Java定时任务调度框架
- 9.1.2 Quartz的基本组件
- 9.1.3 Quartz与Java Timer对比
- 9.2 Quartz的持久化
- 9.2.1 Quartz的数据库建表分析
- 9.2.2 Java项目引入Quartz的持久化配置
- 9.2.3 实例化Quartz
- 9.3 Quartz中的多线程设置
- 9.3.1 创建Job
- 9.3.2 设置策略
- 9.3.3 多线程的Job运行
- 9.3.4 Job的状态监控
- 9.3.5 Quartz的数据清除
- 第10章 大数据中间件Kafka与多线程
- 10.1 大数据中间件Kafka概述
- 10.1.1 什么是中间件
- 10.1.2 消息中间件
- 10.1.3 大数据消息中间件Kafka
- 10.2 Kafka的组件
- 10.2.1 Broker
- 10.2.2 Topic
- 10.2.3 Partition
- 10.2.4 Segment
- 10.2.5 Offset
- 10.3 Kafka的高可用方案
- 10.3.1 Kafka集群
- 10.3.2 Kafka的复制副本策略
- 10.3.3 Kafka副本的分布与数据恢复
- 10.4 Kafka的安装与配置
- 10.4.1 分布式Zookeeper
- 10.4.2 单机版Kafka搭建
- 10.4.3 集群版Kafka搭建
- 10.5 Kafka的多线程
- 10.5.1 Kafka的消息消费
- 10.5.2 Kafka的多线程分析
- 10.5.3 Kafka的消费负载均衡
- 第11章 多线程实战训练
- 11.1 多线程模拟交通信号灯
- 11.2 多线程处理多文件上传
- 11.3 多线程加速数据获取
- 11.4 大数据消息中心的设计
- 下载链接
常见问题
没有Java基础能直接读这本书吗?
不太建议。本书从线程创建和生命周期讲起,默认读者已能编写基本Java程序、理解类与对象。若没有基础,建议先补Java语法和面向对象知识,再进入多线程章节,否则线程池、同步等概念容易理解不深。
书中大数据部分主要讲什么?
按简介,本书讲解主流大数据中间件对数据的处理,并与Java多线程内容相衔接。重点在于帮助读者理解并发在数据处理场景中的运用,而非全面介绍大数据平台架构。阅读时可结合自己接触过的中间件对照理解。
这本书适合用来准备面试吗?
可以作为多线程基础与并发工具的复习材料,线程生命周期、线程池、同步与异步等常见考点均有涉及。但面试还常考虚拟机、锁优化等更深内容,建议把本书当作梳理主线,再配合其他资料补充细节。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。
作者简介
李建平
作者 · 中国 · 1946
李建平,1946年生,中国学者,库内收录其作品四种。其著述横跨多个领域:既主编《现代项目管理概论(修订版)》这类管理学教材,也参与《抗战文化研究(第八辑)》的历史文化整理,还著有《Java多线程与大数据处理实战》这样的编程技术书,并写有《北京中轴线》一类文化读物。从这些作品可以看出,他兼具学术编撰与面向普通读者的写作能力,选题兼顾理论、技术与人文。关于其个人经历,公开资料有限,难以详述;但就库内作品而言,其写作条理清晰、注重实用,覆盖管理、历史、编程与文化等分类,适合不同阅读需求的读者参考。