我知道有很多锁的名词概念,我总是含混其中,隔一段时间就忘了,我想看一本系统一点的书讲锁的,深入底层

这种东西看应用学比较快吧。。。理论掌握了和实际解决问题用的几个场景我一直也对不起来。

底层理念跟大学的计算机系统讲的一模一样,如果你要说代码……那没几本书讲得清楚的,自己 debug 吧

底层是指操作系统底层,还是 jdk 源码底层

jdk

操作系统找本书看,jdk 只不过是调用操作系统和硬件提供的功能,比如原子指令,信号量之类的

锁的名词指的是什么,互斥锁,读写锁,自旋锁这些。还是原子变量,内存序那些。还是具体的锁实现 futex pthread_mutex ?

这东西源码理解那么透干嘛?又不是 spring 留了拓展点我需要看懂它做拓展。把官方文档看了就够了

看起来你更想了解并发理论,那就找篇综述性的论文翻译过来看看吧,并发理论这些东西跟语言是最无关的

看完还会忘。看越多忘越多。

JDK 层面一天就能看的七七八八了,主要的还是 JVM 和操作系统层面的。

结合 看下 JMM 跟 锁 以及重排序,还有重排序优化

github.com/fqdeng/jmm-research github.com/fqdeng/jvm-suspend-working-thread-mechanism这里看下,有一个 mprotect x86 下 可以对内存访问 进行 hook 跳转逻辑还有一个研究 锁机制以及 内存可见性的

推荐文章: itmtx.cn/article/83?columnId=8

锁在 jdk 上没有什么底层。直接看计算机组成就行了。锁全部都是硬件功能。

#14 好的

#4 那先去 b 战找个培训机构,黑马,尚硅谷之类的 java 并发视频,我看过一部分讲 jdk 源码的,基本没问题,有了认识再去看书,java 并发编程实战,结合自己理解写点例子,就没问题了

我看过一本,Java 并发编程艺术,虽说没到系统底层,但应该能满足你;还有一个,B 站搜,一门圣思园的深入理解 JVM 虚拟机 ( 108p 版)

如果是为了实际使用的话,读读这些类的注释就好,不用也不应该太关心实现细节。如果是面向面试的话,深入浅出就不行了,必须深入深出,毕竟八股嘛

book.douban.com/subject/27034721/ 这个还挺详细的

用不上,一直都会忘。没必要的,这东西,除非是面试,不然没必要太过于深入,真有问题,搜索就知道了。大部分业务也不需要用什么锁,一般不用锁,实在需要默认的可重入锁就够用了。