Java之for(;;)和while(true)的區別
兩者都是無限迴圈,區別如下:
編譯前 編譯後
while (1); mov eax,1
test eax,eax
je foo+23h
jmp foo+18h
編譯前 編譯後
for (;;); jmp foo+23h
結論:for (;;)指令少,不佔用暫存器,而且沒有判斷跳轉,比while (1)好。
相關文章
- for(;;)和while(true)的區別While
- do-while語句和while的區別While
- java死迴圈while(true)vsfor(;;)JavaWhile
- python_while truePythonWhile
- Java之.class和.getClass()的區別Java
- Java之try-catch和throws的區別Java
- java複習之HashMap和Hashtable的區別JavaHashMap
- while中的continue和if中的continue的區別While
- 【轉載】Maven中-DskipTests和-Dmaven.test.skip=true的區別Maven
- js中return、return true、return false的區別JSFalse
- 【Java】equals 和 == 的區別Java
- Java和Javascript的區別JavaScript
- java和html的區別JavaHTML
- java複習之 Vector、ArrayList和LinkedList 的區別Java
- JAVA常見面試題之Forward和Redirect的區別Java面試題Forward
- JAVA之編譯期和執行期區別Java編譯
- ruby 怪異的while迴圈處理,和java的差別WhileJava
- Java while和do while迴圈詳解JavaWhile
- java 中equals和==的區別Java
- java yield()和sleep()的區別Java
- ArrayList 和 Vector 的區別 -JAVAJava
- Java中equals和==的區別Java
- java堆和棧的區別Java
- JavaScript和Java的區別(轉)JavaScript
- 【js迴圈語句】for與while的區別JSWhile
- Java之InetSocketAddress和SocketAddress的區別Java
- java中的==和equal的區別Java
- Java集合面試題(03) Java中HashMap和HashTable之間區別Java面試題HashMap
- Java中Vector和ArrayList的區別Java
- 【Java面試】@Resource 和 @Autowired 的區別Java面試
- Java中 equals() 方法和 == 的區別Java
- 對於java中的"\"和"/" 區別Java
- 在java中“equals”和“==”的區別Java
- Java中throw和throws的區別Java
- Java中堆和棧的區別Java
- while read line 與for迴圈的區別While
- java學習之while迴圈JavaWhile
- java中==和equlas區別Java