• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Bingchunmoli
V2EX  ›  程序员

为什么 jdk15 准备废弃偏向锁

  •  
  •   Bingchunmoli · May 28, 2022 · 3814 views
    This topic created in 1448 days ago, the information mentioned may be changed or developed.

    在默认情况下禁用偏向锁定,并弃用所有相关命令行选项。目标是确定是否需要继续支持偏置锁定的 高维护成本 的遗留同步优化,HotSpot 虚拟机使用该优化来减少非竞争锁定的开销。 尽管某些 Java 应用程序在禁用偏向锁后可能会出现性能下降,但偏向锁的性能提高通常不像以前那么明显。 该特性默认禁用了 biased locking(-XX:+UseBiasedLocking),并且废弃了所有相关的命令行选型(BiasedLockingStartupDelay, BiasedLockingBulkRebiasThreshold, BiasedLockingBulkRevokeThreshold, BiasedLockingDecayTime, UseOptoBiasInlining, PrintBiasedLockingStatistics and PrintPreciseBiasedLockingStatistics

    5 replies    2022-05-29 12:21:48 +08:00
    dushixiang
        1
    dushixiang  
       May 28, 2022 via iPhone   ❤️ 2
    为了让八股文更少一点
    a22271001
        2
    a22271001  
       May 29, 2022 via Android
    @FreeEx 相反,八股文会多一条🤣
    heiher
        3
    heiher  
       May 29, 2022 via Android   ❤️ 2
    因为早期硬件执行锁操作很慢,并且大部分情况下只有固定一个线程会进出临界区,所以偏向锁在对线程偏向后再进出临界区的开销较小,达到优化目的。但该优化在解除线程偏向时开销明显,所以对于真存在竞争的情况是不利的。那么随着多核硬件的普及,业务并行化的提高,现代硬件执行锁操作效率也有明显提升,之前的假设已不那么容易成立,所以往往达不到优化的效果,废弃偏向锁。(具体问题具体分析
    lsry
        4
    lsry  
       May 29, 2022
    Kiriri
        5
    Kiriri  
       May 29, 2022
    八股文+1
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   877 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 20:48 · PVG 04:48 · LAX 13:48 · JFK 16:48
    ♥ Do have faith in what you're doing.