chenfang
V2EX  ›  Java

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

  •  
  •   chenfang · Oct 20, 2023 · 5347 views
    This topic created in 1113 days ago, the information mentioned may be changed or developed.

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

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

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

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

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