欢迎光临中图网 请 | 注册
> >
深入理解高并发编程:核心原理与案例实战

深入理解高并发编程:核心原理与案例实战

作者:冰河
出版社:电子工业出版社出版时间:2022-06-01
开本: 其他 页数: 372
中 图 价:¥90.3(7.0折) 定价  ¥129.0 登录后可看到会员价
加入购物车 收藏
运费6元,满39元免运费
?新疆、西藏除外
本类五星书更多>

深入理解高并发编程:核心原理与案例实战 版权信息

深入理解高并发编程:核心原理与案例实战 本书特色

来自阿里、蚂蚁金服、京东、高德、CSDN、饿了么、58集团等互联网大厂以及多家互联网独角兽企业的近20位专家高口碑力荐互联网资深技术专家全面、系统、深入分享高并发编程技术涵盖并发基础、原理、实战与架构的方方面面知识大量图解帮助读者加深理解丰富案例及源代码极具实用性冰河是CSDN的专家博主,多年来坚持在CSDN输出高质量技术文章。当今开发者的技术栈和开发模式都在走向云原生,云原生技术的核心是分布式系统。冰河多年来研究高并发和分布式技术,这次出版的书籍《深入理解高并发编程:核心原理与案例实战》从操作系统到JVM,再到JDK中的JUC,对并发编程的原理和本质问题进行了详细的剖析;对于操作系统线程调度、Java中各类锁和线程池的核心原理与实现细节、CAS问题、ABA问题等都有详细的阐述;同时结合分布式锁和电商秒杀等热门高并发业务场景对高并发系统的设计进行了深度解密,是难得的这国内一领域高质量原创图书。无论是对于并发编程初学者还是对于具有一定开发实践经验的工程师和架构师,这本书都值得一看。 CSDN创始人、总裁 蒋涛我加入CSDN 之后认识了很多博主, 冰河就是其中优秀的代表之一。 冰河的这本《深入理解高并发编程:核心原理与案例实战》和我们平常看到的入门介绍的博文不同,该书深入地解析了高并发编程的核心原理,并分析了CPU、OS、编译、原子性等场景中的核心矛盾,光是这些透彻的分析就已经值回书价。不仅如此,该书还通过实际案例来给出应用指导,对于并发编程领域的学生和工程师乃至架构师和技术专家,都是一本高质量的指南,建议人手一本。 CSDN副总裁、《编程之美》《构建之法》作者 邹欣 从城市健康码故障到优惠券抢购承压,高并发场景早已不局限每年的“双十一”大促。冰河在本书中深入浅出地讲述了并发编程的原理及具体场景应用,更难得的是还佐以大量可运行的代码。无论对于入行不久的朋友,还是有一定经验的朋友,作为工具书,都有其价值。 蚂蚁金服资深技术专家、《程序员的三门课》《深入分布式缓存》联合作者 右军在计算机多核时代,并发编程是每个程序员都应学会的思维模式。本书从操作系统到JDK JUC对并发编程的原理和本质做了深度的剖析,让读者知其然亦知其所以然;结合电商的超卖秒杀等热门业务场景对高并发系统设计进行了技术解密,体现了作者在这一领域的多年深厚积累。阅读此书,受益良多。 阿里中间件分布式事务团队负责人 季敏 冰河算是互联网行业内很勤奋的高产写书人了,我个人收藏了不少他撰写的书,在工作之余反复阅读。本书从计算机基础原理开始娓娓道来,而后巨细靡遗地梳理了分布式系统高并发的相关知识,让我这样一个在大厂基础架构部门从业十二年的一线开发人员有种 “朝花夕拾”之感:把“毕业即还给老师”的知识重新捡了起来,收获感很强。*难能可贵的是,本书还从实战角度讲解了秒杀系统的详细实现与优化技巧,是实际工作中很好的借鉴范例。虽然书中的很多知识是围绕 Java 语言进行阐述的,但个人觉得对非 Java 开发人员亦有指导意义。 Dubbo-go社区负责人 于雨 本书从操作系统底层原理到应用实战深入浅出地剖析了高并发编程。通过阅读本书,可以更好地理解锁、线程、并发编程等知识,学会解决开发中的并发难题,了解在单机和分布式业务场景下如何高效地进行并发编程。强烈推荐大家阅读。 《亿级流量网站架构核心技术》作者 张开涛高并发编程是每一个IT数字化人才**的核心技能,本书是业界难得的实践类好书,作者冰河同样是技术领域绝对的资深专家。 这本书深入浅出剖析高并发的核心原理、实战案例以及系统架构等,让技术人员真正掌握高并发架构设计的本质,从而在面向不同业务场景时,都能够给出优雅的高并发架构设计解决方案,让企业真正降本增效。 本书是高并发架构设计实践类好书,特推荐之。 奈学科技创始兼CEO、58集团前技术委员会主席 孙玄 高并发是海量用户在线系统架构所必须具备的特性。学习高并发的核心原理和高并发系统的工程架构*佳实践,从微观内核到并发应用,再到业务架构,这本《深入理解高并发编程:原理与实战》都是不错的选择。 在微观层面,对于内核调度、同步异步、各类锁的实现细节,书中都有详尽的叙述;在并发应用层面,对于CAS问题、ABA问题、连接池实现,书中都有细致的案例;在架构层面,对于缓存并发实战,电商超卖问题,秒杀系统架构,书中都进行了扩展讲解。 总的来说,不管你已经是一名工程师、架构师、技术经理,又或者是一名希望从事高并发编程的互联网从业人员,《深入理解高并发编程:原理与实战》都值得一看。 互联网架构专家、公众号“架构师之路”作者 沈剑 现在新技术层出不穷,但是真正底层的技术更新非常慢,推荐冰河这本新书《深入理解高并发编程:核心原理与案例实战》,这些知识才是*需要好好学习和研究的,也是从程序员进阶到架构师的**知识。 饿了么前技术总监、公众号“军哥手记”作者 程军初识冰河还是在一个内部建立的技术群里,大家在这个群里交流各种技术。冰河分享了他写的一些技术文章,我读完发现这些文章写得相当通俗易懂,非常适合希望从事这个行业却不知道该从哪里入手的年轻技术人员。这次拿到了冰河新写的《深入理解高并发编程:核心原理与案例实战》,同样保持了其一贯的高质量写作水准。 对高并发问题的处理是工程技术人员水平的重要体现,大厂程序员和小厂程序员的实践差异就在这里,因为这需要了解很多的原理,从底层操作系统到数据库的实现等。该书按照先原理后实践的顺序为大家介绍了高并发问题的由来,以及在实践中如何解决高并发问题。对于希望负责高并发业务的技术人员是不可多得的优秀读物。 杭州任你说智能科技CTO 李鹏云 和对应讲解,可以帮助读者更好地处理实际问题。本书是一本非常优秀的高并发系统性书籍,强烈推荐大家阅读。 Apache RocketMQ北京社区联合发起人 && Commiter 李伟 这是一本以Java语言为例,以CPU、操作系统,JVM底层原理为基础,站在实践的角度上全面解析高并发的基本原理的书籍。 本书有大量的实战案例和图解说明,能极大地方便读者理解高并发的原理并加以实践。作者有大量的高并发应用的开发和运维经验,在书中进行了递进式的内容布局,给出了代码 高并发可以说是每个程序员都想拥有的经验,随着流量增大,我们会遇到各种各样的技术挑战。本书作者从原理和实战两个方面入手,系统地介绍了高并发知识,既有微观层面的操作系统原理和并发编程技巧,也有宏观层面的系统架构设计和分布式技术,对于读者系统性地学习高并发编程有非常好的指导意义。 京东零售架构师 骆俊武 跟冰河兄相熟是因为我们同为技术公众号作者,一直觉得他是有才华又上进的技术人,*近得知他的新书即将出版,惊叹于他的高产与高质量。高并发编程是互联网大厂对程序员*基本的要求,如果你想进入大厂,那么高并发编程是必须扎实掌握的核心技能,本书系统地讲解了各种场景下高并发编程的精粹,我把这本书推荐给那些有志于成为优秀程序员的朋友们。 “技术领导力”公众号作者,某电商公司CTO Mr.K 并发编程是Java工程师绕不过去的挑战,Java并发编程所涉及的知识点较多,多线程编程所考虑的场景相对复杂,包括线程间的资源共享、竞争、死锁等问题,冰河的这本书刚好对这些问题进行了系统讲解。冰河在并发编程领域深耕多年,本书用浅显易懂的文字为大家系统地介绍了 Java 并发编程的相关内容,推荐大家关注学习。 “纯洁的微笑”公众号作者 纯洁的微笑 高并发编程一直以来都是开发工作中的一个难点,也是一个重点。一旦你具有了优秀的高并发编程技能,你就可以更充分地利用现有资源、更高效率地完成各种业务需求。如果你有实力高效利用你能控制的各种资源,你就比其他开发者拥有更高的价值。所以,如果你已经做了一段时间的开发工作,现在想要进一步提升自己的能力,高并发编程就是一个不错的方向。如果你已经打算好好研究一下高并发编程,那么我想向你推荐冰河的这本新书。作者从基础理论与核心原理开始,为你讲解高并发的主要技术点;再从实战案例与系统架构的角度,为你解析工作中可能遇到的问题。这是一本理论与实践相结合的好书,可以让你更好地理解并掌握高并发编程的知识,同时更容易地将这些知识应用到工作中。 公众号“程序猿DD”维护者、《Spring Cloud微服务实战》作者 翟永超

深入理解高并发编程:核心原理与案例实战 内容简介

本书从实际需求出发,全面细致地介绍了高并发编程的基础知识、核心原理、实战案例和系统架构等内容。通过阅读和学习本书,读者可以对高并发编程有更加全面、深入、透彻的理解,提高对高并发编程问题的处理能力和项目实战能力,并站在更高的层面解决高并发编程系统架构问题。

深入理解高并发编程:核心原理与案例实战 目录

第1篇 基础知识 第1章 操作系统线程调度 2 1.1 冯·诺依曼体系结构 2 1.1.1 概述 2 1.1.2 计算机五大组成部分 3 1.2 CPU架构 5 1.2.1 CPU的组成部分 5 1.2.2 CPU逻辑结构 6 1.2.3 单核CPU的不足 8 1.2.4 多核CPU架构 8 1.2.5 多CPU架构 10 1.3 操作系统线程 11 1.3.1 用户级线程 11 1.3.2 内核级线程 12 1.3.3 混合级线程 14 1.4 Java线程与操作系统线程的关系 15 1.5 本章总结 16 第2章 并发编程概述 17 2.1 并发编程的基本概念 17 2.1.1 程序 17 2.1.2 进程与线程 17 2.1.3 线程组 18 2.1.4 用户线程与守护线程 19 2.1.5 并行与并发 20 2.1.6 同步与异步 21 2.1.7 共享与独享 21 2.1.8 临界区 22 2.1.9 阻塞和非阻塞 22 2.2 并发编程的风险 22 2.2.1 安全性问题 22 2.2.2 活跃性问题 23 2.2.3 性能问题 24 2.3 并发编程中的锁 24 2.3.1 悲观锁与乐观锁 24 2.3.2 公平锁与非公平锁 25 2.3.3 独占锁与共享锁 26 2.3.4 可重入锁与不可重入锁 26 2.3.5 可中断锁与不可中断锁 26 2.3.6 读/写锁 27 2.3.7 自旋锁 27 2.3.8 死锁、饥饿与活锁 27 2.4 本章总结 28 第2篇 核心原理 第3章 并发编程的三大核心问题 30 3.1 分工问题 30 3.1.1 类比现实案例 30 3.1.2 并发编程中的分工 32 3.2 同步问题 32 3.2.1 类比现实案例 33 3.2.2 并发编程中的同步 33 3.3 互斥问题 35 3.3.1 类比现实案例 35 3.3.2 并发编程中的互斥 35 3.4 本章总结 36 第4章 并发编程的本质问题 37 4.1 计算机的核心矛盾 37 4.1.1 核心矛盾概述 37 4.1.2 CPU如何解决核心矛盾 38 4.1.3 操作系统如何解决核心矛盾 38 4.1.4 编译程序如何解决核心矛盾 38 4.1.5 引发的问题 39 4.2 原子性 39 4.2.1 原子性概述 39 4.2.2 原子性问题 41 4.2.3 Java中的原子性问题 42 4.2.4 原子性问题总结 46 4.3 可见性 46 4.3.1 可见性概述 46 4.3.2 可见性问题 47 4.3.3 Java中的可见性问题 49 4.3.4 可见性问题总结 51 4.4 有序性 51 4.4.1 有序性概述 51 4.4.2 有序性问题 52 4.4.3 Java中的有序性问题 53 4.4.4 有序性问题总结 56 4.5 解决方案 57 4.5.1 原子性问题解决方案 57 4.5.2 可见性与有序性问题解决方案 57 4.6 本章总结 58 第5章 原子性的核心原理 59 5.1 原子性原理 59 5.2 处理器保证原子性 60 5.2.1 CPU保证基本内存操作的原子性 60 5.2.2 总线锁保证原子性 60 5.2.3 缓存锁保证原子性 62 5.3 互斥锁保证原子性 62 5.3.1 互斥锁模型 62 5.3.2 优化后的互斥锁模型 63 5.4 CAS保证原子性 64 5.5 本章总结 64 第6章 可见性与有序性核心原理 65 6.1 CPU多级缓存架构 65 6.1.1 CPU为何使用多级缓存架构 65 6.1.2 CPU多级缓存架构原理 66 6.1.3 CPU的计算流程 67 6.2 缓存一致性 68 6.2.1 什么是缓存一致性 68 6.2.2 缓存一致性协议 69 6.2.3 MESI协议缓存状态 70 6.2.4 MESI协议的状态转换 70 6.2.5 MESI协议带来的问题 76 6.3 伪共享 76 6.3.1 伪共享的概念 76 6.3.2 伪共享产生的场景 77 6.3.3 如何解决伪共享问题 77 6.4 volatile核心原理 78 6.4.1 保证可见性核心原理 78 6.4.2 保证有序性核心原理 79 6.4.3 volatile的局限性 81 6.5 内存屏障 82 6.5.1 编译器重排序 82 6.5.2 CPU重排序 83 6.5.3 as-if-serial原则 83 6.5.4 计算机硬件实现的内存屏障 84 6.6 Java内存模型 84 6.6.1 Java内存模型的概念 85 6.6.2 Java内存模型的八大操作 85 6.6.3 Java内存模型解决可见性与有序性问题 87 6.7 Happens-Before原则 90 6.7.1 Happens-Before原则概述 90 6.7.2 程序次序原则 90 6.7.3 volatile变量原则 91 6.7.4 传递原则 91 6.7.5 锁定原则 91 6.7.6 线程启动原则 92 6.7.7 线程终结原则 93 6.7.8 线程中断原则 93 6.7.9 对象终结原则 94 6.8 本章总结 95 第7章 synchronized核心原理 96 7.1 synchronized用法 96 7.1.1 同步实例方法 97 7.1.2 同步静态方法 98 7.1.3 同步代码块 99 7.2 Java对象结构 102 7.2.1 对象结构总览 102 7.2.2 对象头 103 7.2.3 实例数据 103 7.2.4 对齐填充 103 7.3 Java对象头 104 7.3.1 Mark Word 104 7.3.2 类型指针 106 7.3.3 数组长度 106 7.4 使用JOL查看对象信息 107 7.4.1 引入JOL环境依赖 107 7.4.2 打印对象信息 107 7.4.3 打印对象锁状态 109 7.5 synchronized核心原理 115 7.5.1 synchronized底层原理 115 7.5.2 Monitor锁原理 116 7.5.3 反编译synchronized方法 118 7.5.4 反编译synchronized代码块 119 7.6 偏向锁 121 7.6.1 偏向锁核心原理 122 7.6.2 偏向锁的撤销 122 7.6.3 偏向锁案例 123 7.7 轻量级锁 124 7.7.1 轻量级锁核心原理 124 7.7.2 轻量级锁案例 126 7.8 重量级锁 127 7.8.1 重量级锁核心原理 127 7.8.2 重量级锁案例 127 7.9 锁升级的过程 129 7.10 锁消除 130 7.11 本章总结 131 第8章 AQS核心原理 132 8.1 AQS核心数据结构 132 8.1.1 AQS数据结构原理 132 8.1.2 AQS内部队列模式 133 8.2 AQS底层锁的支持 134 8.2.1 核心状态位 134 8.2.2 核心节点类 135 8.2.3 独占锁模式 137 8.2.4 共享锁模式 142 8.3 本章总结 145 第9章 Lock锁核心原理 146 9.1 显示锁原理 146 9.2 公平锁与非公平锁原理 148 9.2.1 公平锁原理 148 9.2.2 ReentrantLock中的公平锁 149 9.2.3 公平锁实战 153 9.2.4 非公平锁原理 154 9.2.5 ReentrantLock中的非公平锁 156 9.2.6 非公平锁实战 159 9.3 悲观锁与乐观锁原理 159 9.3.1 悲观锁原理 160 9.3.2 悲观锁实战 160 9.3.3 乐观锁原理 162 9.3.4 乐观锁实战 162 9.4 可中断锁与不可中断锁原理 163 9.4.1 可中断锁原理 163 9.4.2 可中断锁实战 164 9.4.3 不可中断锁原理 166 9.4.4 不可中断锁实战 166 9.5 排他锁与共享锁原理 167 9.5.1 排他锁原理 167 9.5.2 排他锁实战 167 9.5.3 共享锁原理 169 9.5.4 共享锁实战 169 9.6 可重入锁原理 170 9.6.1 可重入锁原理 170 9.6.2 可重入锁实战 172 9.7 读/写锁原理 175 9.7.1 读/写锁原理 175 9.7.2 ReadWriteLock读/写锁 176 9.7.3 ReadWriteLock锁降级 177 9.7.4 StampedLock读/写锁 178 9.7.5 StampedLock锁的升级与降级 179 9.7.6 读/写锁实战 182 9.8 LockSupport原理 185 9.8.1 LockSupport原理 185 9.8.2 LockSupport实战 185 9.9 本章总结 187 第10章 CAS核心原理 188 10.1 CAS的基本概念 188 10.2 CAS的核心类Unsafe 189 10.2.1 Unsafe类的核心方法 190 10.2.2 Unsafe类实战 192 10.3 使用CAS实现count++ 194 10.3.1 案例分析 194 10.3.2 程序实现 194 10.3.3 测试程序 19
展开全部

深入理解高并发编程:核心原理与案例实战 作者简介

冰河,互联网资深技术专家、MySQL 技术专家、分布式与微服务架构专家。 多年来一直致力于分布式系统架构、微服务、分布式数据库、分布式事务与大数据技术的研究,在高并发、高可用、高可扩展性、高可维护性和大数据等领域拥有丰富的架构经验。 可视化多数据源数据异构中间件 mykit-data 作者,畅销书《深入理解分布式事务:原理与实战》《海量数据处理与大数据技术实战》和《MySQL 技术大全:开发、优化与运维实战》作者,“冰河技术”微信公众号作者。

商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服