在默认情况下禁用偏向锁定,并弃用所有相关命令行选项。目标是确定是否需要继续支持偏置锁定的 高维护成本 的遗留同步优化,HotSpot 虚拟机使用该优化来减少非竞争锁定的开销。 尽管某些 Java 应用程序在禁用偏向锁后可能会出现性能下降,但偏向锁的性能提高通常不像以前那么明显。 该特性默认禁用了 biased locking(-XX:+UseBiasedLocking),并且废弃了所有相关的命令行选型(BiasedLockingStartupDelay, BiasedLockingBulkRebiasThreshold, BiasedLockingBulkRevokeThreshold, BiasedLockingDecayTime, UseOptoBiasInlining, PrintBiasedLockingStatistics and PrintPreciseBiasedLockingStatistics
1
FreeEx 2022-05-28 23:57:22 +08:00 via iPhone 2
为了让八股文更少一点
|
3
heiher 2022-05-29 10:24:58 +08:00 via Android 2
因为早期硬件执行锁操作很慢,并且大部分情况下只有固定一个线程会进出临界区,所以偏向锁在对线程偏向后再进出临界区的开销较小,达到优化目的。但该优化在解除线程偏向时开销明显,所以对于真存在竞争的情况是不利的。那么随着多核硬件的普及,业务并行化的提高,现代硬件执行锁操作效率也有明显提升,之前的假设已不那么容易成立,所以往往达不到优化的效果,废弃偏向锁。(具体问题具体分析
|
4
lsry 2022-05-29 10:59:24 +08:00
看下 jep374 。https://openjdk.java.net/jeps/374
|
5
Kiriri 2022-05-29 12:21:48 +08:00
八股文+1
|