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

JUC 相关的知识到底学到什么程度面试才 OK?

  •  
  •   chenfang · 2023-10-20 13:50:45 +08:00 · 2117 次点击
    这是一个创建于 433 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前只是用过 Atomic 一些类以及 ConcurrentHashMap,知道多线程下如何使用这些类以及可以实现什么功能

    前段时间面了两家,问了个问题让我简单讲一下 AQS,当时很紧张,只回答了 AQS 是实现锁以及一些并发工具的底层,CAS 保证线程安全

    回头看了看(美团的 AQS 文章)[https://tech.meituan.com/2019/12/05/aqs-theory-and-apply.html],我了解了 AQS 里边有一个双端队列,用于存放等待的线程

    但是再往细了看源码,有写 if 里边的判断,逻辑相当复杂,此时不禁想了这个问题,难道过一遍相应的方法,知道这个方法大概做了什么就可以了? 或者说应该如何学习源码?

    11 条回复    2023-10-23 11:20:19 +08:00
    chuck1in
        1
    chuck1in  
       2023-10-20 14:23:51 +08:00
    还是转前端吧,简单点。
    chenfang
        2
    chenfang  
    OP
       2023-10-20 15:04:18 +08:00
    @chuck1in ........
    mightybruce
        3
    mightybruce  
       2023-10-20 15:15:16 +08:00
    建议转前端, 后端其他语言并发实现都是这么复杂的,况且你面的是卷王 JAVA 。
    dqzcwxb
        4
    dqzcwxb  
       2023-10-20 15:19:37 +08:00
    AtomicLong 和 LongAdder 深入了解以及能区分各自特性我觉得就够了
    sumarker
        5
    sumarker  
       2023-10-20 15:20:55 +08:00
    尽可能的深,尽可能的广...
    kd9yYw2RyhQwAwzn
        6
    kd9yYw2RyhQwAwzn  
       2023-10-20 15:23:43 +08:00
    我觉得 AQS tryAcquire tryRelease 那几个 protected 方法 在 guc 实现类是怎么用的 然后 Concurrent* CopyOnWrite*类之间的差异 原子类大概的原理看看就行
    kd9yYw2RyhQwAwzn
        7
    kd9yYw2RyhQwAwzn  
       2023-10-20 15:24:25 +08:00
    也没必要太深 为面试准备的话 突击效果可能会更好吧
    notwaste
        8
    notwaste  
       2023-10-20 15:26:15 +08:00
    简历上没写的内容大概回答一下 尽量往自己擅长的方面引导面试官,要是掌握的不够深又往简历写那还不如不写
    Alexone1
        9
    Alexone1  
       2023-10-20 16:38:46 +08:00
    能说个所以然就 ok 、有兴趣可以深入自己实现一个
    tianshuang
        10
    tianshuang  
       2023-10-20 19:48:59 +08:00   ❤️ 1
    掌握到面试官掌握的程度
    eh
        11
    eh  
       2023-10-23 11:20:19 +08:00
    AQS 竞争的资源是什么,阻塞、同步分别是怎么实现的,可重入怎么实现,公平锁和非公平锁区别是什么。这些应该都是比较关注的点。带着问题去看,理解设计的思想和这么设计解决的问题,用自己的话描述出来就可以,keep it simple stupid
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1787 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:25 · PVG 00:25 · LAX 08:25 · JFK 11:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.