Java面试题总结java面试

深入理解Java中的锁

2018-08-04  本文已影响59人  AKyS佐毅

Java中的锁

常见的锁有synchronized、volatile、偏向锁、轻量级锁、重量级锁

1、synchronized

2、volatile

综上所述:一般我们会用来修饰状态标志;读写锁(读>>写,对写加锁,读不加锁);DCL的单例模式中;volatile bean(例如放入HTTPSession中的对象)

了解完上面的知识,我们来做一下对比:

- **相同点**:都保证了可见性
- **不同点** : volatile不能保证原子性,但是synchronized会发生阻塞(在线程状态转换中详说),开销更大。

3、问题的引入

3、自旋锁

4、偏向锁

5、轻量级锁

6、重量级锁Synchronized

前边已经介绍了各种锁,下边主要介绍它们之间的关系

想要了解更多,环境加入Java架构。

145天以来,Java架构更新了 428个主题,已经有91位同学加入。微信扫码关注java架构,获取Java面试题和架构师相关题目和视频。上述相关面试题答案,尽在Java架构中。

Java架构五月更新内容合集

Java架构-六月更新部分内容

Java架构-7月第一周更新内容

Java架构-七月第二、三周更新部分内容

Java架构-七月第四周更新部分内容

上一篇 下一篇

猜你喜欢

热点阅读