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)好。
相關文章
- do-while語句和while的區別While
- python_while truePythonWhile
- While True用法小例子While
- Java之InetSocketAddress和SocketAddress的區別Java
- Java之.class和.getClass()的區別Java
- Java之try-catch和throws的區別Java
- java複習之HashMap和Hashtable的區別JavaHashMap
- java複習之 Vector、ArrayList和LinkedList 的區別Java
- 【轉載】Maven中-DskipTests和-Dmaven.test.skip=true的區別Maven
- do_while_true退役讀後感While
- 讀 do_while_true 退役記有感While
- 【Java】equals 和 == 的區別Java
- while read line 與for迴圈的區別While
- js中return、return true、return false的區別JSFalse
- Java while和do while迴圈詳解JavaWhile
- JAVA之編譯期和執行期區別Java編譯
- java 中equals和==的區別Java
- java yield()和sleep()的區別Java
- 【js迴圈語句】for與while的區別JSWhile
- Python之“==”和“is”區別Python
- Java中 equals() 方法和 == 的區別Java
- Java中Vector和ArrayList的區別Java
- PHP, Python和Java的區別分享PHPPythonJava
- Java之String的equals與contentEquals區別Java
- @Bean和@Component之間的區別?Bean
- querySelector和getElementById之間的區別
- MySQL之Where和Having的區別MySql
- 敏捷和 Scrum 之間的區別敏捷Scrum
- Java基礎- ==和equals和hashCode的區別Java
- java中==和equlas區別Java
- java:Date和DateTime區別Java
- 分別使用while迴圈、do…while迴圈和for迴圈輸出1~100之間的所有偶數While
- Java String.valueOf 和 toString的區別Java
- 【Java面試】@Resource 和 @Autowired 的區別Java面試
- Python和Java的區別?看完秒懂!PythonJava
- Java 之String、StringBuffer 和 StringBuilder 三者區別介紹JavaUI
- MVC,MVP和MVVM之間的區別MVCMVPMVVM
- CSS之Display、Visbility和Opactity的區別CSS