大家好呀,我是小米,一个热爱技术、喜欢折腾的 Java 开发工程师!今天我要和大家分享一个我在社招面试时遇到的高频问题——“同步方法和同步块,哪个更好?”
事情是这样的,前段时间我去一家大厂面试,一切都很顺利,直到面试官问了我这个问题:
“在 Java 中,你认为使用同步方法(synchronized method)好,还是同步块(synchronized block)更优?”
这一下子让我愣住了,因为平时开发中我确实用过 synchronized 关键字,但是到底哪种方式更优呢?这让我回想起之前踩过的坑,于是我整理了一下思路,从性能、灵活性、可读性等方面给面试官做了一个详细的分析。
今天,我就把这个面试题拆开讲给大家听,希望能帮到正在准备面试的小伙伴们!
同步方法 vs. 同步块
首先,我们要明白 Java 中的同步方法和同步块到底是怎么回事。
1. 同步方法(Synchronized Method)
同步方法指的是在方法声明时,直接使用 synchronized 关键字修饰方法,这样整个方法都会被加锁。

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


7225

被折叠的 条评论
为什么被折叠?



