Java没有死循环,能正常终止,与书中说的不一致??

java1.8  win7  64位

javaeffective第66条:

如果改成如下,则程序不终止:



#Java#
全部评论
我猜测,因为加入打印操作,线程需要切出去打印。产生了中断。所以有查探状态的可能,从而中止。
点赞 回复 分享
发布于 2019-05-08 22:27
你这个不能死循环呀
点赞 回复 分享
发布于 2019-05-08 21:45
m
点赞 回复 分享
发布于 2019-05-08 22:14
Print 函数自带同步,会直接锁住输出流变量,可能会访问主存。
点赞 回复 分享
发布于 2019-05-08 23:12
Print源码带synchronized的,然后再结合sych原理,当main锁住变量后就刷新到了内存,这个时候就刚好死循环运行到了63514
点赞 回复 分享
发布于 2019-05-08 23:15
sout的问题,忘记在哪本书上看到过,我当时也搞了好久
点赞 回复 分享
发布于 2019-05-08 23:26
确实会终止循环,但把while里面打印语句删除就会一直运行下去了,不知道为什么
点赞 回复 分享
发布于 2019-05-08 22:08
你的虚拟机可能运行在client模式下。
点赞 回复 分享
发布于 2019-05-08 23:16
点赞 回复 分享
发布于 2019-05-08 23:16

相关推荐

10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
重生2012之我是java程序员:换个稍微正式点的照片吧
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务