Java之for(;;)和while(true)的區別

lvxiangan發表於2018-10-15

兩者都是無限迴圈,區別如下:

    編譯前              編譯後 
    while (1);         mov eax,1  
                                              test eax,eax 
                                               je foo+23h
                                               jmp foo+18h


        編譯前              編譯後 
    for (;;);          jmp foo+23h   

結論:for (;;)指令少,不佔用暫存器,而且沒有判斷跳轉,比while (1)好。 

相關文章