从oracle官网下载的这个HotSpot虚拟机的概况文档,现在翻一下锁的部分;
Java 锁
*每一个java对象都是一个潜在的monitor(监视器)
>synchronized 关键字
*所有现代JVM虚拟机都包含light-weight锁
>避免关联一个系统互斥信号量或者每个对象的条件变量(heavy-weight lock)
>当没有竞争时,使用原子变量进入或者退出monitor
>当有竞争时,退回到heavy-weight的OS锁
*高效,因为大多数锁都是没有竞争的
Light-weight Locking (轻-重锁)
*每一个对象的第一个单词是 mark word
参考文章:
http://www.cnblogs.com/redcreen/archive/2011/03/29/1998800.html
http://blog.csdn.net/xiaomin1991222/article/details/50981423
时间: 2024-10-08 22:37:42