单线程下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

相关推荐

03-25 16:22
南华大学 Java
不敢追175女神:你是打了上千个招呼吧?😂
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

更多
牛客网
牛客企业服务