为什么 jdk15 准备废弃偏向锁

2022-05-28 20:05:28 +08:00
 Bingchunmoli

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

2769 次点击
所在节点    程序员
5 条回复
FreeEx
2022-05-28 23:57:22 +08:00
为了让八股文更少一点
a22271001
2022-05-29 10:09:38 +08:00
@FreeEx 相反,八股文会多一条🤣
heiher
2022-05-29 10:24:58 +08:00
因为早期硬件执行锁操作很慢,并且大部分情况下只有固定一个线程会进出临界区,所以偏向锁在对线程偏向后再进出临界区的开销较小,达到优化目的。但该优化在解除线程偏向时开销明显,所以对于真存在竞争的情况是不利的。那么随着多核硬件的普及,业务并行化的提高,现代硬件执行锁操作效率也有明显提升,之前的假设已不那么容易成立,所以往往达不到优化的效果,废弃偏向锁。(具体问题具体分析
lsry
2022-05-29 10:59:24 +08:00
Kiriri
2022-05-29 12:21:48 +08:00
八股文+1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/855904

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX