Skip to content

Commit 71e9638

Browse files
authored
Merge pull request Snailclimb#640 from yklove/patch-1
Update 美团面试常见问题总结.md
2 parents 431ae23 + 59ce706 commit 71e9638

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

docs/essential-content-for-interview/PreparingForInterview/美团面试常见问题总结.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -786,7 +786,7 @@ synchronized 是依赖于 JVM 实现的,前面我们也讲到了 虚拟机团
786786

787787
**④ 两者的性能已经相差无几**
788788

789-
在 JDK1.6 之前,synchronized 的性能是比 ReentrantLock 差很多。具体表示为:synchronized 关键字吞吐量岁线程数的增加,下降得非常严重。而 ReentrantLock 基本保持一个比较稳定的水平。我觉得这也侧面反映了, synchronized 关键字还有非常大的优化余地。后续的技术发展也证明了这一点,我们上面也讲了在 JDK1.6 之后 JVM 团队对 synchronized 关键字做了很多优化。JDK1.6 之后,synchronized 和 ReentrantLock 的性能基本是持平了。所以网上那些说因为性能才选择 ReentrantLock 的文章都是错的!JDK1.6 之后,性能已经不是选择 synchronized 和 ReentrantLock 的影响因素了!而且虚拟机在未来的性能改进中会更偏向于原生的 synchronized,所以还是提倡在 synchronized 能满足你的需求的情况下,优先考虑使用 synchronized 关键字来进行同步!优化后的 synchronized 和 ReentrantLock 一样,在很多地方都是用到了 CAS 操作。
789+
在 JDK1.6 之前,synchronized 的性能是比 ReentrantLock 差很多。具体表示为:synchronized 关键字吞吐量随线程数的增加,下降得非常严重。而 ReentrantLock 基本保持一个比较稳定的水平。我觉得这也侧面反映了, synchronized 关键字还有非常大的优化余地。后续的技术发展也证明了这一点,我们上面也讲了在 JDK1.6 之后 JVM 团队对 synchronized 关键字做了很多优化。JDK1.6 之后,synchronized 和 ReentrantLock 的性能基本是持平了。所以网上那些说因为性能才选择 ReentrantLock 的文章都是错的!JDK1.6 之后,性能已经不是选择 synchronized 和 ReentrantLock 的影响因素了!而且虚拟机在未来的性能改进中会更偏向于原生的 synchronized,所以还是提倡在 synchronized 能满足你的需求的情况下,优先考虑使用 synchronized 关键字来进行同步!优化后的 synchronized 和 ReentrantLock 一样,在很多地方都是用到了 CAS 操作。
790790

791791
## 4 线程池了解吗?
792792

@@ -922,4 +922,4 @@ Nginx 有以下 5 个优点:
922922
- Nginx 二进制可执行文件:由各模块源码编译出一个文件
923923
- nginx.conf 配置文件:控制 Nginx 行为
924924
- acess.log 访问日志: 记录每一条 HTTP 请求信息
925-
- error.log 错误日志:定位问题
925+
- error.log 错误日志:定位问题

0 commit comments

Comments
 (0)