V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nnegier
V2EX  ›  Java

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

  •  
  •   nnegier · 351 天前 · 3126 次点击
    这是一个创建于 351 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    如果你只是要弄清楚基本概念,那就从操作系统层面入手,比如《操作系统导论》相关章节。再往下深挖就是 ISA ,硬件原理(我自我认知没这知识背景,没研究这东西)。
    CFM880
        24
    CFM880  
       350 天前
    @xiaogang530 笑死
    wWjd5V5L0636B5YV
        25
    wWjd5V5L0636B5YV  
       350 天前 via Android
    @CFM880 他的视频有一股狂神的味
    MeiJM
        26
    MeiJM  
       345 天前
    看 AQS 的实现,写个 demo 逐步调试比较快
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2505 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:33 · PVG 09:33 · LAX 17:33 · JFK 20:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.