Java高并发之魂-synchronized深度解析 学习笔记(6)- 面试和总结

1 synchronized使用注意点

  • 锁对象不能为空
  • 作用域不宜太大
  • 避免死锁

2 如何选择 Locksynchronized

  • 尽量都不使用,用 java.util包下的各种工具类
  • 优先使用 synchronized

3 多线程访问同步方法的各种具体情况

2 思考

2.1 多个线程等待同一个 synchronized锁的时候,JVM如何选择下一个获取的是哪个线程?

  • 内部锁调动机制

2.2 synchronized 使得同时只有一个线程可以执行,性能较差,有什么方法可以提升性能

  • 优化使用的范围。使得临界区(被保护的区域)在符合要求的情况下,尽可能小

2.3 什么是锁的升级和降级?什么是JVM里的偏斜锁、轻量级锁、重量级锁

3 总结

  • 一句话介绍 synchronized
    JVM会自动通过使用 monitor 来加锁和解锁,保证了同时只有一个线程可以执行指定的代码,从而保证了线程安全,同时具有可重入和不可中断的性质。
    在这里插入图片描述
    在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值