您的位置:首页 > 编程语言 > Java开发

for(;;)和while(1)两种死循环的区别

2018-03-07 20:30 267 查看
在JUC的源码中,经常看到for(;;),为什么不使用while(true)呢?
for(;;)死循环里的两个;;代表两个空语句,编译器一般会优化掉它们,直接进入循环体。 while(true)死循环里的true被看成表达式,每循环一次都要判断表达式是否真。 即,相对来说for式死循环更加高效一点。当然以上条件成立还要看编译器的优化,一些编译器优化的两者并无区别,但是,并非所有的编译器都做了这样的优化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java