- N +

jvm启动默认使用什么锁

Java虚拟机(JVM)启动默认使用的锁是“偏向锁”(Biased Locking)。偏向锁是一种优化机制,用于减少锁的竞争。在多线程环境中,当一个线程访问一个对象时,如果这个对象没有被锁定,那么JVM会为这个线程创建一个偏向锁,并将锁偏向给当前访问的线程。

偏向锁的优点是减少了线程进入同步块时的开销,因为它避免了多次检查和撤销偏向锁的昂贵操作。但是,如果其他线程也试图访问这个对象,那么偏向锁就会变成轻量级锁或重量级锁,从而可能导致性能下降。

偏向锁并不是对所有情况都是最优的。在某些情况下,比如锁频繁变化的对象,偏向锁可能不会带来性能提升,反而会因为锁撤销操作而降低性能。因此,JVM提供了选项来关闭偏向锁,例如通过JVM启动参数`-XX:-UseBiasedLocking`。

在默认情况下,JVM在启动时会启用偏向锁,但这个行为可以通过JVM启动参数进行修改。

返回列表
上一篇:
下一篇: