最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Java中for(;;)和while(true)有啥區(qū)別?

標(biāo)簽:
Java

群里面有小伙伴提了个问题,说在看并发源码的时候,很多时候源码中都使用for(;;)而不是使用while(true),这两个有什么区别吗?

这种问题,在java里面,最简单有效的办法就是打印字节码看一下,javap再次华丽丽的登场:

https://img1.sycdn.imooc.com//5b4556530001625609830316.jpg

字节码一模一样,能有啥区别?因此,在java里面,就看个人的爱好了,二者没区别!

更过关于java字节码的内容可以观看我的一个视频课程:Java生产环境下性能监控与调优详解

为啥网上有的文章说二者有区别呢?因为那是在C语言中!

在C语言中, while(1)在编译后:

mov eax,1  
test eax,eax 
je foo+23h
jmp foo+18h

for(;;)在编译后:

mp foo+23h

这里的区别就非常明显了,for(;;)在c语言中指令较少,也能够节省内存,没有判断跳转,是比while(1)更好的无限循环。

C编译后的指令参考:https://blog.csdn.net/baidu_29029173/article/details/51175799

最后,欢迎大家观看我的两个视频课程:

Java生产环境下性能监控与调优详解   Java秒杀系统方案优化 高性能高并发实战

點(diǎn)擊查看更多內(nèi)容
3人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消