您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
图解Java并发编程
字数: 544000
装帧: 平装
出版社: 人民邮电出版社
作者: 汪建
出版日期: 2021-10-01
商品条码: 9787115561732
版次: 1
开本: 16开
页数: 388
出版年份: 2021
定价:
¥109.9
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
编辑推荐
1.采用“图例胜千言”的写作方法进行介绍,通过200多张示意图帮助读者理解知识点,每个重点和关键点均附有相关图示; 2.提供了100多个代码案例来讲解Java并发相关的原理和具体实现,让读者可以从代码的角度理解并发是如何实现的; 3.本书组织结构清晰,由基础概念到高层工具,循序渐进的讲解相关知识点,具备基础的Java编程知识后便可以通过本书学习; 4.讲解的Java并发知识均来源于实际项目,同时本书赠送源代码以及书中的彩图文件,方便读者自己动手在实际项目中练习。
内容简介
本书采用图文并茂外加大量案例代码的方式讲解了Java并发编程机制的运行原理。本书分为12章,内容涵盖了线程机制、线程I/O模型、Java内存模型、并发知识、AQS同步器、常见的同步器、原子类、阻塞队列、锁、任务执行器、其他并发工具等内容。此外,还在最后一章介绍了如何使用C++来模拟实现Java线程。本书适合Java中高级开发人员、对Java并发编程机制感兴趣的人员以及Java架构师阅读。
作者简介
汪建,笔名seaboat,毕业于广东工业大学光信息科学与技术专业,毕业后从事各类业务系统、中间件、基础架构、人工智能系统等研发工作,目前致力于用AI提升企业业务系统效率以节约人力成本擅长T母管计人知能管法白然言外理计复机视觉、架构、分布式、高并发、大数据、搜索引擎等方面的技术,会使用大多数编程语言,更擅长Java、Python和C++。平时喜欢看书、运动、写作、编程、绘画。崇尚开源,崇尚技术自由。已出版的图书有《图解数据结构与算法》《Tomcat内核设计剖析》。 个人博客:blog.csdn.net/wangyangzhizhou。 个人公众号:远洋号。
目录
第1章线程机制1
1.1线程是什么1
1.2线程的映射3
1.2.1多对一映射4
1.2.2一对一映射4
1.2.3多对多映射5
1.2.4Java层到内核层6
1.3Java线程的状态7
1.4Java线程的调度10
1.5Java线程的优先级与执行机制11
1.6Java线程的CPU时间14
1.7Java线程的yield操作15
1.8Java线程的sleep操作17
1.9Java线程的Interrupt操作20
1.9.1可运行状态的中断23
1.9.2阻塞/等待状态的中断23
1.9.3经典中断实现方式24
1.9.4park的特殊中断26
1.10Java线程的阻塞与唤醒26
1.11Java线程的join操作34
第2章线程I/O模型38
2.1线程与阻塞I/O38
2.1.1单线程阻塞I/O模型39
2.1.2多线程阻塞I/O模型40
2.2线程与非阻塞I/O模型41
2.2.1应用层I/O多路复用43
2.2.2内核I/O多路复用43
2.2.3内核回调事件驱动I/O44
2.3Java多线程非阻塞I/O模型46
2.4多线程带来了什么48
2.4.1提升执行效率49
2.4.2提升用户体验50
2.4.3让编码更难50
2.4.4资源开销与上下文切换开销51
第3章Java内存模型53
3.1计算机的运行53
3.2Java内存模型56
3.3volatile能否保证线程安全59
3.4happens-before原则62
3.4.1单线程原则65
3.4.2锁原则66
3.4.3volatile原则67
3.4.4线程start原则67
3.4.5线程join原则68
3.4.6线程interrupt原则68
3.4.7finalize原则69
3.4.8传递原则70
3.5Java指令重排70
第4章并发知识75
4.1synchronized互斥锁75
4.1.1作用在对象方法上76
4.1.2作用在类静态方法上79
4.1.3作用在对象方法里面80
4.1.4作用在类静态方法里面81
4.2乐观的并发策略85
4.3自旋锁87
4.3.1UMA架构与NUMA架构88
4.3.2原始自旋锁90
4.3.3排队自旋锁91
4.3.4CLH锁93
4.3.5MCS锁95
4.4线程饥饿97
4.4.1synchronized饥饿97
4.4.2优先级饥饿99
4.4.3线程自旋饥饿100
4.4.4等待唤醒饥饿101
4.4.5公平性解决饥饿102
4.5数据竞争104
4.6竞争条件108
4.6.1线程执行顺序的不确定性110
4.6.2并发机制111
4.7死锁113
4.7.1锁的顺序化116
4.7.2资源合并116
4.7.3避免锁嵌套117
4.7.4锁超时机制117
4.7.5抢占资源机制118
4.7.6撤销线程机制118
4.7.7死锁的检测119
第5章AQS同步器120
5.1什么是AQS同步器120
5.2AQS的等待队列与状态转换120
5.3AQS的独占锁与共享锁125
5.4AQS独占锁获取与释放127
5.4.1获取独占锁的逻辑128
5.4.2尝试获取独占锁130
5.4.3入队操作逻辑130
5.4.4入队后的操作132
5.4.5虚节点可能消失133
5.4.6取消锁获取操作134
5.4.7唤醒后继节点136
5.4.8释放独占锁的逻辑137
5.5AQS共享锁获取与释放138
5.5.1获取共享锁的逻辑138
5.5.2入队操作140
5.5.3入队后的操作140
5.5.4引入PROPAGATE状态143
5.5.5释放共享锁的逻辑146
5.6AQS的阻塞与唤醒146
5.6.1许可机制148
5.6.2LockSupport示例149
5.6.3park与unpark的顺序150
5.6.4park对中断的响应151
5.6.5park是否会释放锁152
5.6.6LockSupport的实现154
5.7AQS的中断机制156
5.7.1synchronized不支持中断157
5.7.2AQS独占模式的中断158
5.7.3AQS共享模式的中断160
5.8AQS的超时机制161
5.8.1synchronized不支持超时161
5.8.2AQS独占模式的超时162
5.8.3AQS共享模式的超时163
5.9AQS的原子性如何保证164
5.10AQS的自旋锁175
5.11AQS的公平性177
5.12AQS的条件队列179
5.12.1await方法179
5.12.2signal方法182
5.13AQS自定义同步器183
5.13.1AQS设计思想183
5.13.2独占模式184
5.13.3共享模式186
第6章常见的同步器189
6.1常见的同步器189
6.2闭锁192
6.3信号量197
6.3.1非公平模式的实现198
6.3.2公平模式的实现201
6.3.3信号量的使用示例202
6.4循环屏障204
6.5相位器210
6.5.1相位器的主要概念及方法211
6.5.2相位器的3个例子212
6.5.3相位器的状态示意图215
6.5.4相位器的实现原理216
6.6交换器220
6.6.1交换器的实现原理223
6.6.2交换器的单槽模式226
6.6.3交换器的多槽模式228
第7章原子类233
7.1原子整型233
7.1.1一行代码等于原子性吗233
7.1.2volatile能保证原子性吗234
7.1.3synchronized能解决问题吗235
7.1.4AtomicInteger237
7.1.5实现原理238
7.2原子引用239
7.3原子数组243
7.3.1AtomicIntegerArray244
7.3.2AtomicLongArray247
7.3.3AtomicReferenceArray248
7.4原子变量更新器249
第8章阻塞队列254
8.1阻塞队列概述254
8.2数组阻塞队列258
8.3链表阻塞队列263
8.4优先级阻塞队列271
8.5延迟阻塞队列279
8.5.1优先级队列281
8.5.2DelayQueue的阻塞与唤醒283
8.5.3DelayQueue的实现原理284
8.6链表阻塞的双向队列288
第9章锁298
9.1可重入锁298
9.1.1非公平模式的实现299
9.1.2公平模式的实现301
9.1.3公平模式的3个示例302
9.2读写锁305
9.2.1读写锁的性质306
9.2.2简单的实现版本307
9.2.3读写锁的升级与降级308
9.2.4读写锁的实现思想309
9.2.5读写锁的共用状态变量312
9.2.6读写锁的公平/非公平模式313
9.2.7写锁的实现314
9.2.8读锁的实现315
9.2.9读写锁的使用示例317
9.3锁的条件机制318
9.3.1wait/notify模式318
9.3.2Condition320
第10章任务执行器322
10.1任务执行器接口322
10.1.1同步执行器322
10.1.2一对一执行器323
10.1.3线程池执行器323
10.1.4串行执行器325
10.2任务执行器的ExecutorService接口326
10.3线程池任务执行器331
10.3.1线程池任务执行器的运行状态332
10.3.2线程池任务执行器的使用示例334
10.3.3线程池任务执行器的实现原理335
第11章其他并发工具344
11.1线程本地变量344
11.1.1线程本地变量的使用示例344
11.1.2线程本地变量的3个主要方法346
11.1.3JDK中线程本地变量的实现思想347
11.1.4JDK中线程本地变量的实现源码348
11.1.5线程本地变量的内存泄漏352
11.2写时复制数组列表353
第12章C++模拟实现Java线程359
12.1模拟实现Java线程359
12.2模拟实现yield语义365
12.3模拟实现sleep操作367
12.4模拟实现synchronized语义369
12.5模拟实现Interrupt操作372
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网