似乎无限循环终止,除非使用System.out.println

似乎无限循环终止,除非使用System.out.println,第1张

似乎无限循环终止,除非使用System.out.println

这两个例子并不是无止境的。

问题是

int
Java(或几乎所有其他通用语言)中类型的限制。当值
x
达到时
0x7fffffff
,将任何正值相加都会导致溢出,并且
x
变为负值,因此小于
j

第一个循环与第二个循环之间的区别在于,内部代码需要花费更多时间,并且可能要花几分钟才能

x
溢出。对于第一个示例,它可能会花费不到第二秒的时间,或者很可能是代码会因为没有任何效果而被优化器删除。

正如讨论中提到的,时间将很大程度上取决于OS如何缓冲输出,是否将其输出到终端仿真器等,因此它可能比几分钟要高得多。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5565142.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存