Java多线程与大数据处理实战 封面

Java多线程与大数据处理实战

评分 3.4
字数
8.1万字
章节数
169
ISBN
9787301312834

标签

内容简介

本书对Java的多线程及主流大数据中间件对数据的处理进行了较为详细的讲解。本书主要讲了Java的线程创建方法和线程的生命周期,方便我们管理多线程的线程组和线程池,设置线程的优先级,设置守护线程,学习多线程的并发、同步和异步操作,了解Java的多线程并发处理工具。

编辑推荐

本书把Java多线程基础与大数据中间件的数据处理放在同一本书里讨论,对希望从语言层面理解并发、再过渡到工程实践中的读者较有价值。内容从线程创建、生命周期讲起,涉及线程组、线程池、优先级、守护线程等常用管理手段,并延伸到并发、同步、异步操作及多线程并发处理工具,脉络相对清晰。它的亮点在于不孤立讲语法,而是把线程知识与主流大数据中间件的数据处理场景联系起来,帮助读者理解并发在真实系统中的作用。适合作为课程配套或自学中的进阶读物,建议在具备Java基础后边读边动手验证示例,重点关注线程池与并发工具的使用边界。

适合谁读

适合

  • 已掌握Java基础语法、想系统学习多线程的开发者
  • 需要理解大数据中间件中并发数据处理思路的工程师
  • 讲授Java并发或大数据课程的教师作参考用书
  • 准备面试中多线程与并发相关考点的求职者

不适合

  • 完全没有Java基础、尚不熟悉类与对象的初学者
  • 只想了解大数据平台架构、不关心Java并发的读者
  • 期待深入分布式理论或框架源码剖析的资深工程师

阅读建议

  1. 先通读线程生命周期与线程池章节,再回头精读并发与同步部分,形成由浅入深的顺序。
  2. 每读完一个多线程示例,自己在本地改写并运行,观察不同线程池参数下的行为差异。
  3. 读到大数据中间件处理部分时,结合自己熟悉的一个中间件做对照笔记,记录并发设计的取舍。
  4. 把并发工具章节整理成一张对照表,标注各自适用场景,便于日后查阅。

出版社简介

北京大学出版社 中国 · 成立于 1979 年

北京大学出版社是一家综合性大学出版社,其出版方向涵盖古典文学、科学科普、社会文化、世界史、西方哲学与文化等领域。库内收录图书6031种,代表性图书包括《红楼梦》《狭义与广义相对论浅说(第15版)(附爱因斯坦关于统一场论及其他经典论文)》《几何原本》《圆锥曲线论》《东晋门阀政治》《神话哲学(上卷)》《神话哲学(下卷)》《海陆的起源》等。代表作者有曹雪芹、周汝昌、爱因斯坦、欧几里得、阿波罗尼奥斯、田余庆、谢林、先刚等。该社在古典文学与西方哲学原典译介方面形成特色,兼及科学经典与社会文化研究。因公开资料有限,此处仅依据库内图书呈现其出版方向,不作额外延伸。

目录

  1. 版权信息
  2. 前言
  3. 第1章 Java多线程基础
  4. 1.1 初识线程
  5. 1.1.1 线程是什么?
  6. 1.1.2 单线程与多线程
  7. 1.1.3 多线程的优势
  8. 1.1.4 守护线程与用户线程
  9. 1.2 Java线程的创建方法
  10. 1.2.1 继承Thread类创建线程
  11. 1.2.2 实现Runnable接口创建线程
  12. 1.2.3 实现Callable接口创建线程
  13. 1.2.4 三种线程创建方法的对比
  14. 1.3 搭建集成开发环境运行Java多线程
  15. 1.3.1 安装Java 8
  16. 1.3.2 环境变量的配置与测试
  17. 1.3.3 下载与安装IntelliJ IDEA
  18. 1.3.4 使用IntelliJ IDEA编写Java多线程
  19. 第2章 线程的生命周期
  20. 2.1 线程的状态
  21. 2.1.1 线程的六种状态
  22. 2.1.2 线程状态的获取方法
  23. 2.1.3 线程的活动情况获取方法
  24. 2.2 线程的生命周期
  25. 2.2.1 线程的生命周期图谱
  26. 2.2.2 线程的生命周期图谱分析一:新建和可运行中的就绪
  27. 2.2.3 线程的生命周期图谱分析二:可运行和阻塞
  28. 2.2.4 线程的生命周期图谱分析三:等待与恢复
  29. 2.2.5 线程的终止与关闭
  30. 2.3 多线程的优先级
  31. 2.3.1 线程的优先级范围
  32. 2.3.2 设置线程的优先级
  33. 2.3.3 多线程下的线程优先级体现
  34. 2.3.4 守护线程的运行
  35. 第3章 多线程的调度方式
  36. 3.1 多线程的调度概述
  37. 3.1.1 操作系统的调度原理
  38. 3.1.2 抢占式调度
  39. 3.1.3 非抢占式调度
  40. 3.1.4 多线程的上下文环境切换
  41. 3.2 线程的睡眠、等待与让步
  42. 3.2.1 线程的sleep()方法
  43. 3.2.2 线程的wait()方法
  44. 3.2.3 线程的yield()方法
  45. 3.2.4 wait()方法与sleep()方法的对比
  46. 3.3 多线程的唤醒
  47. 3.3.1 线程的notify()方法
  48. 3.3.2 多线程的notifyAll()方法
  49. 3.4 多线程的插队
  50. 3.4.1 线程的join()方法
  51. 3.4.2 调大线程的优先级
  52. 3.4.3 线程安全与线程不安全的表现
  53. 第4章 多线程的线程组与线程池
  54. 4.1 线程组
  55. 4.1.1 什么是线程组
  56. 4.1.2 线程组的创建与使用
  57. 4.2 线程池
  58. 4.2.1 什么是线程池
  59. 4.2.2 线程池的实现原理
  60. 4.2.3 线程池的创建与使用
  61. 4.3 多线程管理
  62. 4.3.1 多线程管理常用方法
  63. 4.3.2 多线程的监控
  64. 第5章 多线程的异常处理
  65. 5.1 异常的基本概念
  66. 5.1.1 Exception与Error
  67. 5.1.2 异常的抛出
  68. 5.2 Java中的异常处理
  69. 5.2.1 异常处理的一般形式:try-catch
  70. 5.2.2 使用finally进行最后处理
  71. 5.3 Java多线程的异常
  72. 5.3.1 常见的多线程异常
  73. 5.3.2 Future的get()方法获取异常
  74. 5.3.3 多线程的安全关闭
  75. 5.4 自定义多线程异常处理
  76. 5.4.1 创建切合业务的自定义线程异常处理类
  77. 5.4.2 捕获多线程运行时的自定义异常
  78. 第6章 多线程定时任务TimerTask
  79. 6.1 定时任务
  80. 6.1.1 初识定时任务
  81. 6.1.2 Java的定时器Timer类
  82. 6.1.3 Java的定时器任务TimerTask抽象类
  83. 6.2 多线程定时任务
  84. 6.2.1 创建多个任务
  85. 6.2.2 ScheduledExecutorService运行多任务
  86. 6.2.3 其他常见Java定时任务调度框架简介
  87. 第7章 多线程并发处理
  88. 7.1 多线程的并发基础
  89. 7.1.1 多线程的原子性
  90. 7.1.2 多线程的内存可见性
  91. 7.1.3 多线程的避免指令重排序
  92. 7.2 Java的多线程的同步
  93. 7.2.1 什么是同步
  94. 7.2.2 synchronized关键字
  95. 7.2.3 volatile关键字
  96. 7.2.4 多线程的同步锁机制
  97. 7.2.5 多线程的死锁和活锁
  98. 7.3 多线程的异步
  99. 7.3.1 什么是异步
  100. 7.3.2 生产者/消费者
  101. 7.3.3 多线程的同步与异步的比较
  102. 7.4 多线程的并发处理工具
  103. 7.4.1 多线程计数器CountDownLatch
  104. 7.4.2 信号量Semaphore
  105. 7.4.3 ThreadLocal多线程并发的变量隔离
  106. 7.4.4 多线程数据交换Exchanger
  107. 第8章 批处理Spring Batch与多线程
  108. 8.1 Spring Batch概述
  109. 8.1.1 Spring Batch的基本组件
  110. 8.1.2 Job的实例及各组件间的关系
  111. 8.1.3 Spring Batch的配置
  112. 8.1.4 Job的注解与配置
  113. 8.2 Spring Batch的监听机制
  114. 8.2.1 Spring Batch监听器
  115. 8.2.2 创建Spring Batch的监听器
  116. 8.2.3 为Job加入监听器
  117. 8.3 Spring Batch的事务处理机制
  118. 8.3.1 Spring Batch的事务简介
  119. 8.3.2 Spring Batch的事务配置
  120. 8.3.3 Spring Batch的事务使用
  121. 8.3.4 其他代码讲解
  122. 8.4 Spring Batch与多线程
  123. 8.4.1 Spring Batch的容错机制
  124. 8.4.2 Spring Batch Job的加速执行
  125. 8.4.3 Spring Batch Step的多线程设置
  126. 第9章 大数据任务调度框架Quartz与多线程
  127. 9.1 Quartz概述
  128. 9.1.1 强大的开源Java定时任务调度框架
  129. 9.1.2 Quartz的基本组件
  130. 9.1.3 Quartz与Java Timer对比
  131. 9.2 Quartz的持久化
  132. 9.2.1 Quartz的数据库建表分析
  133. 9.2.2 Java项目引入Quartz的持久化配置
  134. 9.2.3 实例化Quartz
  135. 9.3 Quartz中的多线程设置
  136. 9.3.1 创建Job
  137. 9.3.2 设置策略
  138. 9.3.3 多线程的Job运行
  139. 9.3.4 Job的状态监控
  140. 9.3.5 Quartz的数据清除
  141. 第10章 大数据中间件Kafka与多线程
  142. 10.1 大数据中间件Kafka概述
  143. 10.1.1 什么是中间件
  144. 10.1.2 消息中间件
  145. 10.1.3 大数据消息中间件Kafka
  146. 10.2 Kafka的组件
  147. 10.2.1 Broker
  148. 10.2.2 Topic
  149. 10.2.3 Partition
  150. 10.2.4 Segment
  151. 10.2.5 Offset
  152. 10.3 Kafka的高可用方案
  153. 10.3.1 Kafka集群
  154. 10.3.2 Kafka的复制副本策略
  155. 10.3.3 Kafka副本的分布与数据恢复
  156. 10.4 Kafka的安装与配置
  157. 10.4.1 分布式Zookeeper
  158. 10.4.2 单机版Kafka搭建
  159. 10.4.3 集群版Kafka搭建
  160. 10.5 Kafka的多线程
  161. 10.5.1 Kafka的消息消费
  162. 10.5.2 Kafka的多线程分析
  163. 10.5.3 Kafka的消费负载均衡
  164. 第11章 多线程实战训练
  165. 11.1 多线程模拟交通信号灯
  166. 11.2 多线程处理多文件上传
  167. 11.3 多线程加速数据获取
  168. 11.4 大数据消息中心的设计
  169. 下载链接

常见问题

没有Java基础能直接读这本书吗?
不太建议。本书从线程创建和生命周期讲起,默认读者已能编写基本Java程序、理解类与对象。若没有基础,建议先补Java语法和面向对象知识,再进入多线程章节,否则线程池、同步等概念容易理解不深。
书中大数据部分主要讲什么?
按简介,本书讲解主流大数据中间件对数据的处理,并与Java多线程内容相衔接。重点在于帮助读者理解并发在数据处理场景中的运用,而非全面介绍大数据平台架构。阅读时可结合自己接触过的中间件对照理解。
这本书适合用来准备面试吗?
可以作为多线程基础与并发工具的复习材料,线程生命周期、线程池、同步与异步等常见考点均有涉及。但面试还常考虚拟机、锁优化等更深内容,建议把本书当作梳理主线,再配合其他资料补充细节。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

作者简介

李建平 作者 · 中国 · 1946

李建平,1946年生,中国学者,库内收录其作品四种。其著述横跨多个领域:既主编《现代项目管理概论(修订版)》这类管理学教材,也参与《抗战文化研究(第八辑)》的历史文化整理,还著有《Java多线程与大数据处理实战》这样的编程技术书,并写有《北京中轴线》一类文化读物。从这些作品可以看出,他兼具学术编撰与面向普通读者的写作能力,选题兼顾理论、技术与人文。关于其个人经历,公开资料有限,难以详述;但就库内作品而言,其写作条理清晰、注重实用,覆盖管理、历史、编程与文化等分类,适合不同阅读需求的读者参考。

同一作者

同类高分