深入理解Java高并发编程
修炼高并发内功,面试求职常备。计算机、系统、软件多层次讲透CPU并发、内核并发、Java并发、线程池、JVM原理。《Java从入门到精通》进阶篇,马士兵教育倾心打造。

作者:黄俊

定价:148元

印次:1-2

ISBN:9787302591344

出版日期:2021.11.01

印刷日期:2023.03.15

图书责编:贾旭龙

图书分类:零售

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

《深入理解Java高并发编程》致力于介绍Java高并发编程方面的知识。由于多线程处理涉及的知识内容十分丰富,因此介绍时必须从Java层面的讲解一直深入到底层的知识讲解。为了帮助读者轻松阅读本书并掌握其中知识,本书做了大量基础知识的铺垫。在第1篇基础知识储备中,主要介绍计算机原理、并发基础、常见语言的线程实现、Java并发入门、JUC之Java线程池、JUC之同步结构、Java NIO详解等内容。在第2篇深入Java并发原理中,详细介绍了JUC包中所有使用的原子类的原理与源码实现;非常关键且容易出错的volatile关键字的原理,从Java、JVM、C、汇编、CPU层面对其进行详细讲解;synchronized在JVM中获取锁和释放锁的流程;JUC包的核心结构——AQS的原理与源码实现,通过逐方法、逐行的解释,帮助读者彻底掌握AQS中提供的获取锁、释放锁、条件变量等操作的实现与原理。最后,详细介绍了JVM中JNI的实现原理,将Java Thread对象中的所有方法在JVM层面的实现流程进行了详细描述,以帮助读者在使用这些方法时,知道底层发生了什么,以及发生异常时如何从容解决问题。

黄俊,专注于研究Java语言, Hotspot, Linux内核,C语言与汇编,架构设计,多线程并发处理,专注于研究高效学习方式。曾就职于美团、阿里,前新东方业务架构师。

为什么要写这本书 笔者平时喜欢钻研底层源码及原理,在工作中经常处理多线程并发问题。在解决问题的过程中,发现很多开发人员对于多线程并发的概念模糊不清,同时网络上充斥着各种谬误,导致开发人员对高并发处理始终雾里看花,抓不住重点,甚至产生畏惧心理。笔者阅读过CSAPP、《操作系统精髓》等书籍,发现其中包含了很多与高并发无关的知识,而很多读者又只想研究多线程并发的原理,因此常常走马观花,不能专注于多线程研究;同时,书中并没有指出有些内容是研究多线程的必要条件,所以很多读者会忽略这些细节,在后面研究多线程时由于缺少对应知识的支撑而无法理解其中的含义。基于此,笔者决定编写一本完全讲解多线程并发的书籍,分别从CPU、汇编、C语言、操作系统、C函数库、应用实现等多层面,讲解多线程的重点、难点。全书仅保留对多线程来说需要研究的知识点,以方便读者专注于多线程。 由于Java语言在业务编程领域占据举足轻重的地位,因此本书也对应用层面使用Java语言进行了描述,并对涉及Java多线程开发的几乎所有内容进行了讲解。同时,为了帮助读者在实际阅读源码时能真正读懂那些代码,笔者在写作过程中对所有涉及的源码都进行了逐行解释,力求帮助读者理解其中的含义和精髓。JUC包中包含了大量的线程同步、高并发处理结构、原子类,在实际工作中可能会涉及不同的结构运用,很多读者不理解其中的含义和实现原理,很容易在实际编码过程中误用,导致业务崩溃,但又因为对源码知识的欠缺,无法快速地解决问题,从而造成了业务的损失。此外,本书还将Java语言并发包JUC中几乎所有的结构实现源码及原理都进行了逐行解释,读者在遇到问题或者对源码产生困...

暂无课件

样章下载

暂无网络资源

扫描二维码
下载APP了解更多

目录
荐语
查看详情 查看详情
第1篇 基础知识储备

第1章 计算机原理 2

1.1 汇编语言基础 2

1.1.1 汇编语言与机器语言 2

1.1.2 常见的寄存器 3

1.1.3 常见操作语句 6

1.1.4 内联汇编 6

1.1.5 常见助记符 9

1.2 C语言基础 12

1.2.1 基本数据类型 12

1.2.2 结构体原理 13

1.2.3 指针原理 19

1.2.4 指针与数组原理 21

1.3 计算机组成原理基础 23

1.3.1 intel的发展历史 23

1.3.2 计算机程序的组成 29

1.3.3 计算机的内存管理与内存地址原理 36

1.3.4 计算机程序的执行原理 44

1.4 OS概述 52

1.4.1 OS的发展历程和分类 53

1.4.2 常用的OS系统 56

1.5 小结 57

第2章 并发基础 58

2.1 并发与并行原理 58

2.1.1 并发 58

2.1.2 并行 59

2.1.3 并发与并行带来的问题 59

2.2 传统OS并发控制原理 60

2.2.1 P-V原语 60

2.2.2 信号量 61

2.2.3 互斥量 62

2.2.4 自旋锁 62

2.2.5 读写锁 63

2.2.6 死锁 64

2.3 CPU并发控制原理 66

2.3.1 中断控制 66

2.3.2 缓存一致性协议 67

2.3.3 系统屏障 69

2.3.4 总线/缓存锁 73

2.4 Linux内核并发控制原理 73

2.4.1 Linux内核信号量与P-V原语实现原理 74

2.4.2 Linux内核互斥量实...

Java多线程并发编程是Java领域较难理解和较难掌握的知识,同时也是IT业务领域较为重要的知识之一;在编程开发中应用广泛,同时也是Java编程中难度较高、对源码分析要求较高的部分。
《深入理解Java高并发编程》内容分为上下两篇,共10章。上篇讲解基础知识,涉及从计算机硬件到软件的一系列内容;下篇深入研究Java虚拟机,讨论并发编程知识。本书并没有介绍Java语言层面的一些基础知识,所以阅读本书需要读者理解掌握Java SE的内容。对此,读者可以选择《Java从入门到精通》进行学习。
笔者专注于研究Java语言,对Linux内核、JVM有着精深的研究,曾在多家大型互联网公司任职,具有丰富的实战经验。并且多年担任Java教学工作,讲解知识清晰明了、深入浅出。
笔者在“文泉云盘”中为广大读者朋友准备了微课视频,供大家参考学习。另外,读者可扫描前言中的“技术支持”二维码,观看作者分享的讲解视频,和作者进行沟通,共同学习,一起成长。