0 0 0

Java高并发编程详解:多线程与架构设计.epub

总有刁民想害朕
14天前 230
我用夸克网盘分享了「Java高并发编程详解:多线程与架构设计.epub」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
Java高并发编程详解 作者: 汪文君 出版社: 机械工业出版社 副标题: 多线程与架构设计 出版年: 2018-6 页数: 379 定价: 89.00元 装帧: 平装 丛书: Java核心技术系列 ISBN: 9787111599937

内容简介

本书共分为四个部分:部分详细地介绍了Java多线程的基本用法和各个API的使用,并且着重介绍了线程与Java虚拟机内存之间的关系。第二部分由线程上下文类加载器方法引入,介绍为什么在线程中要有上下文类加载器的方法函数,从而掌握类在JVM的加载和初始化的整个过程。第三部分主要围绕着volatile关键字展开,在该部分中我们将会了解到现代CPU的架构以及Java的内存模型(JMM)。后一部分,主要站在架构设计的高度看待如何巧妙地开发出真正具备并发能力的系统。

作者简介

汪文君,汇丰软件(广东)研发中心数据服务中心技术经理、技术专家,目前专注于实时数据data pipeline平台的构建与架构,在加入汇丰软件以前,曾有7年多的移动通信工作经验,以及移动互联网、云计算和B2C电子商务平台的开发架构经验,热衷于技术分享、技术细节锤炼。目前已录制10余套技术视频,在互联网上广泛传播。

网友热评

Smile_Keven: 好的点:对Java源码的部分API解读的很细致。 不好的点:1. 对于糟糕的代码没有明确的提示,很容易让人产生误导,可以学学《Java并发编程实践》那样,给与表情提示。 2. 缺少理论支撑,不适合入门级选手 3. 代码风格有不一致的地方,像Thread.sleep(), TimeUnit.SECONDS.sleep()交叉出现,其实作者是推崇后者的·· 总之,现在让我对机械出版社出版的图书印象分-1 Realricecake: 看了一半,先扣两星。优点是多线程的东西覆盖得比较多,缺点是内存结构说不清楚,垃圾回收不清晰,join方法讲得云里雾里,还有就是英文单词老打错。航班是flight不是fight...... 又看了100页,再扣一星,读写分离的代码是错的,根本无法运行,代码和类接口图也对不上。 求求国产出书人,能不能负责一点??? 勉强翻完了,不值得推荐。这本书值得一看的就是单例处理模式,多线程有哪些概念。缺点很多,每个概念都讲不清楚,展示的代码部分是无法运行的。内容也有部分错误。看这个不如去看写技术博客。 sean: 我觉得覆盖挺全的,前面基础阶段讲的挺详细,全面的,第二部分蜻蜓点水,不懂,第三部分volatile讲的不错,源码不懂,后面设计模式有点难懂 Atrius: 有许多底层原理之外的东西,比如设计模式。很值得一读。

图书目录

推荐序一 推荐序二 推荐序三 推荐序四 前言 第一部分多线程基础 第1章快速认识线程3 1.1线程的介绍3 1.2快速创建并启动一个线程3 1.2.1尝试并行运行4 1.2.2并发运行交替输出5 1.2.3使用Jconsole观察线程6 1.3线程的生命周期详解7 1.3.1线程的NEW状态8 1.3.2线程的RUNNABLE状态8 1.3.3线程的RUNNING状态8 1.3.4线程的BLOCKED状态8 1.3.5线程的TERMINATED状态9 1.4线程的start方法剖析:模板设计模式在Thread中的应用9 1.4.1Threadstart方法源码分析以及注意事项9 1.4.2模板设计模式在Thread中的应用11 1.4.3Thread模拟营业大厅叫号机程序13 1.5Runnable接口的引入以及策略模式在Thread中的使用16 1.5.1Runnable的职责16 1.5.2策略模式在Thread中的应用16 1.5.3模拟营业大厅叫号机程序18 1.6本章总结19 第2章深入理解Thread构造函数20 2.1线程的命名20 2.1.1线程的默认命名21 2.1.2命名线程21 2.1.3修改线程的名字22 2.2线程的父子关系22 2.3Thread与ThreadGroup23 2.4Thread与Runnable24 2.5Thread与JVM虚拟机栈25 2.5.1Thread与Stacksize25 2.5.2JVM内存结构27 2.5.3Thread与虚拟机栈30 2.6守护线程33 2.6.1什么是守护线程33 2.6.2守护线程的作用34 2.7本章总结34 第3章ThreadAPI的详细介绍35 3.1线程sleep35 3.1.1sleep方法介绍35 3.1.2使用TimeUnit替代Thread.sleep36 3.2线程yield37 3.2.1yield方法介绍37 3.2.2yield和sleep37 3.3设置线程的优先级38 3.3.1线程优先级介绍38 3.3.2线程优先级源码分析39 3.3.3关于优先级的一些总结40 3.4获取线程ID40 3.5获取当前线程41 3.6设置线程上下文类加载器41 3.7线程interrupt42 3.7.1interrupt42 3.7.2isInterrupted43 3.7.3interrupted45 3.7.4interrupt注意事项46 3.8线程join47 3.8.1线程join方法详解48 3.8.2join方法结合实战50 3.9如何关闭一个线程53 3.9.1正常关闭54 3.9.2异常退出56 3.9.3进程假死56 3.10本章总结58 第4章线程安全与数据同步59 4.1数据同步59 4.1.1数据不一致问题的引入59 4.1.2数据不一致问题原因分析61 4.2初识synchronized关键字62 4.2.1什么是synchronized63 4.2.2synchronized关键字的用法63 4.3深入synchronized关键字65 4.3.1线程堆栈分析65 4.3.2JVM指令分析67 4.3.3使用synchronized需要注意的问题70 4.4ThisMonitor和ClassMonitor的详细介绍72 4.4.1thismonitor72 4.4.2classmonitor74 4.5程序死锁的原因以及如何诊断77 4.5.1程序死锁77 4.5.2程序死锁举例77 4.5.3死锁诊断80 4.6本章总结81 第5章线程间通信82 5.1同步阻塞与异步非阻塞82 5.1.1同步阻塞消息处理82 5.1.2异步非阻塞消息处理83 5.2单线程间通信84 5.2.1初识wait和notify84 5.2.2wait和notify方法详解87 5.2.3关于wait和notify的注意事项89 5.2.4wait和sleep90 5.3多线程间通信90 5.3.1生产者消费者90 5.3.2线程休息室waitset93 5.4自定义显式锁BooleanLock94 5.4.1synchronized关键字的缺陷94 5.4.2显式锁BooleanLock95 5.5本章总结104 第6章ThreadGroup详细讲解105 6.1ThreadGroup与Thread105 6.2创建ThreadGroup105 6.3复制Thread数组和ThreadGroup数组106 6.3.1复制Thread数组106 6.3.2复制ThreadGroup数组109 6.4ThreadGroup操作109 6.4.1ThreadGroup的基本操作110 6.4.2ThreadGroup的interrupt113 6.4.3ThreadGroup的destroy114 6.4.4守护ThreadGroup115 6.5本章总结116 第7章Hook线程以及捕获线程执行异常117 7.1获取线程运行时异常117 7.1.1UncaughtExceptionHandler的介绍117 7.1.2UncaughtExceptionHandler实例118 7.1.3UncaughtExceptionHandler源码分析119 7.2注入钩子线程121 7.2.1Hook线程介绍121 7.2.2Hook线程实战122 7.2.3Hook线程应用场景以及注意事项124 7.3本章总结124 第8章线程池原理以及自定义线程池125 8.1线程池原理125 8.2线程池实现126 8.2.1线程池接口定义127 8.2.2线程池详细实现131 8.3线程池的应用139 8.4本章总结142 第二部分JavaClassLoader 第9章类的加载过程144 9.1类的加载过程简介144 9.2类的主动使用和被动使用145 9.3类的加载过程详解148 9.3.1类的加载阶段148 9.3.2类的连接阶段149 9.3.3类的初始化阶段154 9.4本章总结156 第10章JVM类加载器158 10.1JVM内置三大类加载器158 10.1.1根类加载器介绍159 10.1.2扩展类加载器介绍159 10.1.3系统类加载器介绍160 10.2自定义类加载器161 10.2.1自定义类加载器,问候世界161 10.2.2双亲委托机制详细介绍165 10.2.3破坏双亲委托机制167 10.2.4类加载器命名空间、运行时包、类的卸载等170 10.3本章总结175 第11章线程上下文类加载器177 11.1为什么需要线程上下文类加载器177 11.2数据库驱动的初始化源码分析178 11.3本章总结180 第三部分深入理解volatile关键字 第12章volatile关键字的介绍182 12.1初识volatile关键字182 12.2机器硬件CPU184 12.2.1CPUCache模型184 12.2.2CPU缓存一致性问题186 12.3Java内存模型187 12.4本章总结188 第13章深入volatile关键字189 13.1并发编程的三个重要特性189 13.1.1原子性189 13.1.2可见性190 13.1.3有序性190 13.2JMM如何保证三大特性191 13.2.1JMM与原子性192 13.2.2JMM与可见性193 13.2.3JMM与有序性194 13.3volatile关键字深入解析195 13.3.1volatile关键字的语义195 13.3.2volatile的原理和实现机制197 13.3.3volatile的使用场景198 13.3.4volatile和synchronized199 13.4本章总结200 第14章7种单例设计模式的设计201 14.1饿汉式201 14.2懒汉式202 14.3懒汉式+同步方法203 14.4Double-Check204 14.5Volatile+Double-Check206 14.6Holder方式206 14.7枚举方式207 14.8本章总结208 第四部分多线程设计架构模式 第15章监控任务的生命周期212 15.1场景描述212 15.2当观察者模式遇到Thread212 15.2.1接口定义212 15.2.2ObservableThread实现215 15.3本章总结217 15.3.1测试运行217 15.3.2关键点总结219 第16章SingleThreadExecution设计模式220 16.1机场过安检220 16.1.1非线程安全221 16.1.2问题分析223 16.1.3线程安全225 16.2吃面问题225 16.2.1吃面引起的死锁226 16.2.2解决吃面引起的死锁问题228 16.2.3哲学家吃面229 16.3本章总结230 第17章读写锁分离设计模式231 17.1场景描述231 17.2读写分离程序设计232 17.2.1接口定义232 17.2.2程序实现234 17.3读写锁的使用239 17.4本章总结242 第18章不可变对象设计模式244 18.1线程安全性244 18.2不可变对象的设计244 18.2.1非线程安全的累加器245 18.2.2方法同步增加线程安全性247 18.2.3不可变的累加器对象设计248 18.3本章总结249 第19章Future设计模式251 19.1先给你一张凭据251 19.2Future设计模式实现251 19.2.1接口定义252 19.2.2程序实现253 19.3Future的使用以及技巧总结256 19.4增强FutureService使其支持回调257 19.5本章总结258 第20章GuardedSuspension设计模式259 20.1什么是GuardedSuspension设计模式259 20.2GuardedSuspension的示例259 20.3本章总结261 第21章线程上下文设计模式262 21.1什么是上下文262 21.2线程上下文设计263 21.3ThreadLocal详解264 21.3.1ThreadLocal的使用场景及注意事项265 21.3.2ThreadLocal的方法详解及源码分析265 21.3.3ThreadLocal的内存泄漏问题分析270 21.4使用ThreadLocal设计线程上下文274 21.5本章总结276 第22章Balking设计模式277 22.1什么是Balking设计277 22.2Balking模式之文档编辑278 22.2.1Document278 22.2.2AutoSaveThread280 22.2.3DocumentEditThread281 22.3本章总结283 第23章Latch设计模式284 23.1什么是Latch284 23.2CountDownLatch程序实现285 23.2.1无限等待的Latch285 23.2.2有超时设置的Latch289 23.3本章总结291 第24章Thread-Per-Message设计模式293 24.1什么是Thread-Per-Message模式293 24.2每个任务一个线程293 24.3多用户的网络聊天296 24.3.1服务端程序296 24.3.2响应客户端连接的Handler297 24.3.3聊天程序测试299 24.4本章总结300 第25章TwoPhaseTermination设计模式301 25.1什么是TwoPhaseTermination模式301 25.2TwoPhaseTermination的示例302 25.2.1线程停止的TwoPhaseTermination302 25.2.2进程关闭的TwoPhaseTermination303 25.3知识扩展304 25.3.1StrongReference及LRUCache304 25.3.2SoftReference及SoftLRUCache308 25.3.3WeakReference311 25.3.4PhantomReference312 25.4本章总结314 第26章Worker-Thread设计模式315 26.1什么是Worker-Thread模式315 26.2Worker-Thread模式实现315

Java高并发编程详解:多线程与架构设计.epub"网盘下载"

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件[email protected]投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 对你动了情
  • 女儿快跟爹走
  • 将笑意深藏
  • 烟雾扰山河
  • 少女红了眼
  • 因为我爱你你才闪耀
  • 若有所思
  • 沿街灯火
  • 鞋里住着风
  • 前一秒
  • 黑羽蝶舞
  • 花间辞
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!