Java 有讲锁比较深入浅出的书吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nnegier
V2EX    Java

Java 有讲锁比较深入浅出的书吗?

  •  
  •   nnegier 2024-01-11 15:31:37 +08:00 3686 次点击
    这是一个创建于 694 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    26 条回复    2024-01-17 11:23:43 +08:00
    cnsdytedison
        1
    cnsdytedison  
       2024-01-11 15:54:59 +08:00 via Android
    这种东西看应用学比较快吧。。。理论掌握了和实际解决问题用的几个场景我一直也对不起来。
    siweipancc
        2
    siweipancc  
       2024-01-11 16:02:36 +08:00 via iPhone
    底层理念跟大学的计算机系统讲的一模一样,如果你要说代码……那没几本书讲得清楚的,自己 debug 吧
    jaycelhz
        3
    jaycelhz  
       2024-01-11 16:46:35 +08:00
    底层是指操作系统底层,还是 jdk 源码底层
    nnegier
        4
    nnegier  
    OP
       2024-01-11 16:56:15 +08:00 via Android
    vituralfuture
        5
    vituralfuture  
       2024-01-11 18:40:33 +08:00 via Android
    操作系统找本书看,jdk 只不过是调用操作系统和硬件提供的功能,比如原子指令,信号量之类的
    PTLin
        6
    PTLin  
       2024-01-11 18:44:29 +08:00
    锁的名词指的是什么,互斥锁,读写锁,自旋锁这些。还是原子变量,内存序那些。还是具体的锁实现 futex pthread_mutex ?
    me1onsoda
        7
    me1onsoda  
       2024-01-11 18:53:23 +08:00
    这东西源码理解那么透干嘛?又不是 spring 留了拓展点我需要看懂它做拓展。把官方文档看了就够了
    gitrebase
        8
    gitrebase  
       2024-01-11 19:26:23 +08:00
    看起来你更想了解并发理论,那就找篇综述性的论文翻译过来看看吧,并发理论这些东西跟语言是最无关的
    kneo
        9
    kneo  
       2024-01-11 20:41:02 +08:00 via Android
    看完还会忘。看越多忘越多。
    mysunshinedreams
        10
    mysunshinedreams  
       2024-01-11 20:45:49 +08:00
    JDK 层面一天就能看的七七八八了,主要的还是 JVM 和操作系统层面的。
    morgan1freeman
        11
    morgan1freeman  
       2024-01-11 20:53:55 +08:00
    结合 看下 JMM 跟 锁 以及重排序,还有重排序优化
    morgan1freeman
        12
    morgan1freeman  
       2024-01-11 20:54:50 +08:00
    https://github.com/fqdeng/jmm-research
    https://github.com/fqdeng/jvm-suspend-working-thread-mechanism

    这里看下,有一个 mprotect x86 下 可以对内存访问 进行 hook 跳转逻辑
    还有一个研究 锁机制以及 内存可见性的
    smallbeef1998
        13
    smallbeef1998  
       2024-01-11 23:55:01 +08:00
    shenyuzhi
        14
    shenyuzhi  
       2024-01-12 03:40:06 +08:00
    @nnegier
    锁在 jdk 上没有什么底层。直接看计算机组成就行了。锁全部都是硬件功能。
    nnegier
        15
    nnegier  
    OP
       2024-01-12 06:30:52 +08:00
    #14 好的
    jaycelhz
        16
    jaycelhz  
       2024-01-12 09:10:40 +08:00
    @nnegier #4 那先去 b 战找个培训机构,黑马,尚硅谷之类的 java 并发视频,我看过一部分讲 jdk 源码的,基本没问题,有了认识再去看书,java 并发编程实战,结合自己理解写点例子,就没问题了
    CFM880
        17
    CFM880  
       2024-01-12 10:19:18 +08:00
    我看过一本,Java 并发编程艺术,虽说没到系统底层,但应该能满足你;还有一个,B 站搜,一门圣思园的深入理解 JVM 虚拟机 ( 108p 版)
    Narcissu5
        18
    Narcissu5  
       2024-01-12 10:37:04 +08:00
    如果是为了实际使用的话,读读这些类的注释就好,不用也不应该太关心实现细节。如果是面向面试的话,深入浅出就不行了,必须深入深出,毕竟八股嘛
    yituanmaoxian
        19
    yituanmaoxian  
       2024-01-12 12:44:09 +08:00
    looplj
        20
    looplj  
       2024-01-12 14:38:21 +08:00
    用不上,一直都会忘。
    没必要的,这东西,除非是面试,不然没必要太过于深入,真有问题,搜索就知道了。
    大部分业务也不需要用什么锁,一般不用锁,实在需要默认的可重入锁就够用了。
    wWjd5V5L0636B5YV
        21
    wWjd5V5L0636B5YV  
       2024-01-12 16:24:21 +08:00
    @smallbeef1998 不推荐
    wWjd5V5L0636B5YV
        22
    wWjd5V5L0636B5YV  
       2024-01-12 16:28:12 +08:00
    @CFM880 张龙这个狗贼,就拿 java8 和 jvm 前 60 讲来当诱饵,骗了 350 多年费学员和 180 多并发微服务学员,还有买单课的学员,估计 300 万[生气][生气]!!!后面的几个视频都是在划水,说是深入,开头给你讲方法论几个小时,然后再念经英文文档,让你觉得他牛 B ,然后再带你去源码喵几眼,最后来个小 demo,就算完成了深入原理了!!有的课程他肚子没货了,强行加戏,比如 springBoot 加入了 kafuka 8 个小时,划水,视频说思考 5 分钟,结果就真的 5 分钟,反正后面是一个月出完 60%的课程,这老贼就跑路了,剩下一堆维权无路的学员,不信的话,大伙可以看这门并发课是不是如我所说!!!
    CLMan
        23
    CLMan  
       2024-01-12 16:46:21 +08:00
    XXX 语言 YYY 知识,其实就是 YYY 领域知识,而只不过 XXX 语言自己封装了一套。没有基础的或者基础不牢的新人,就很容易陷入 XXX 语言提供的封装的 API 里面,去死记硬背文档、API 说明、实现代码,缺乏跳出该语言去学习 YYY 领域知识的视野。

    如果你只是要弄清楚基本概念,那就从操作系统层面入手,比如《操作系统导论》相关章节。再往下深挖就是 ISA ,硬件原理(我自我认知没这知识背景,没研究这东西)。
    CFM880
        24
    CFM880  
       2024-01-12 22:14:32 +08:00
    @xiaogang530 笑死
    wWjd5V5L0636B5YV
        25
    wWjd5V5L0636B5YV  
       2024-01-13 08:10:50 +08:00 via Android
    @CFM880 他的视频有一股狂神的味
    MeiJM
        26
    MeiJM  
       2024-01-17 11:23:43 +08:00
    看 AQS 的实现,写个 demo 逐步调试比较快
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5097 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 07:48 PVG 15:48 LAX 23:48 JFK 02:48
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86