单线程下synchronize效率问题

为什么单线程下synchronize会比不加synchronize的方法执行效率低?
全部评论
你可以自己写个代码测试一下
点赞 回复 分享
发布于 2019-10-06 13:54
嗯嗯  今天突然想到这个问题    这2天一直在想刁钻的问题   怕被面试官问爬下   感觉上锁去锁应该是对的  但是有人说有锁消除的优化    那是优化后还是没有不加synchronize效率高呢  还是说java8后stringbuffer和stringbuilder效率一样了呢
点赞 回复 分享
发布于 2019-10-06 13:46
单线程应该是偏向锁吧 虽然省去了加锁解锁的开销 但每次也要去markword检查线程id会消耗吧
点赞 回复 分享
发布于 2019-10-06 13:38
没有这个定论,1.6以后有锁消除的优化
点赞 回复 分享
发布于 2019-10-06 13:37
单线程应该不会吧,java 1.8还是多少来着,加入了锁消除的机制,没有资源竞争的话实际执行会消除这个锁?😅
点赞 回复 分享
发布于 2019-10-06 13:35
多了上锁去锁的开销,你说慢不慢
点赞 回复 分享
发布于 2019-10-06 13:28
因为有加锁和释放锁的代码需要执行,消耗时间
点赞 回复 分享
发布于 2019-10-06 13:28

相关推荐

04-09 11:42
门头沟学院 Java
程序员小假:哥 只有🍋飞才知道有多不容易
投递字节跳动等公司9个岗位 > 双非本科求职如何逆袭 字节求职进展汇总
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

更多
牛客网
牛客企业服务