JaVA 중:for(;)while(true)와 의 차이

결론:컴 파일 된 바이트 파일 을 보면 for(;)while(true)가 밑바닥 에서 사용 하 는 것 과 같은 실현 은 두 가지 서법 과 다 르 지 않다.
1、for(;;)

@Test
public void test(){


    for(;;){
        System.out.println("for"+"+++");
    }


}

컴 파일 된 바이트 코드
public void test();
   flags: ACC_PUBLIC
   Code:
     stack=2, locals=1, args_size=1
        0: getstatic     #2                  // Field java/lang/System.out:Ljava/io/PrintStream;
        3: ldc           #3                  // String for+++
        5: invokevirtual #4                  // Method java/io/PrintStream.println:(Ljava/lang/String;)V
        8: goto          0
     LineNumberTable:
       line 18: 0
     LocalVariableTable:
       Start  Length  Slot  Name   Signature
              0      11     0  this   Lcom/jj/jingcai/MyTest;
     StackMapTable: number_of_entries = 1
          frame_type = 0 /* same */
   RuntimeVisibleAnnotations:
     0: #17()

2、while(true)
@Test
public void test(){


    while (true){
        System.out.println("while"+"---");
    }


}

컴 파일 된 바이트 코드
public void test();
  flags: ACC_PUBLIC
  Code:
    stack=2, locals=1, args_size=1
       0: getstatic     #2                  // Field java/lang/System.out:Ljava/io/PrintStream;
       3: ldc           #3                  // String while---
       5: invokevirtual #4                  // Method java/io/PrintStream.println:(Ljava/lang/String;)V
       8: goto          0
    LineNumberTable:
      line 18: 0
    LocalVariableTable:
      Start  Length  Slot  Name   Signature
             0      11     0  this   Lcom/jj/jingcai/MyTest;
    StackMapTable: number_of_entries = 1
         frame_type = 0 /* same */
  RuntimeVisibleAnnotations:
    0: #17()

좋은 웹페이지 즐겨찾기