大厂 Java 面试:同步方法和同步块,90% 的人都选错了!

大家好呀,我是小米,一个热爱技术、喜欢折腾的 Java 开发工程师!今天我要和大家分享一个我在社招面试时遇到的高频问题——“同步方法和同步块,哪个更好?”

事情是这样的,前段时间我去一家大厂面试,一切都很顺利,直到面试官问了我这个问题:

“在 Java 中,你认为使用同步方法(synchronized method)好,还是同步块(synchronized block)更优?”

这一下子让我愣住了,因为平时开发中我确实用过 synchronized 关键字,但是到底哪种方式更优呢?这让我回想起之前踩过的坑,于是我整理了一下思路,从性能、灵活性、可读性等方面给面试官做了一个详细的分析。

今天,我就把这个面试题拆开讲给大家听,希望能帮到正在准备面试的小伙伴们!

同步方法 vs. 同步块

首先,我们要明白 Java 中的同步方法同步块到底是怎么回事。

1. 同步方法(Synchronized Method)

同步方法指的是在方法声明时,直接使用 synchronized 关键字修饰方法,这样整个方法都会被加锁。

上面的代码表示:整个方法都会被锁住,也就是说同一时间只允许一个线程访问这个方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件求生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值