1. 설명
(1) Just-in-time 컴파일 방식: 인터프리터는 먼저 바이트코드를 기계어 코드로 컴파일한 후 기계어를 실행합니다.
(2) 해석 및 실행 방법: 인터프리터는 매번 작은 코드 조각을 해석하고 실행하여 Java 바이트코드 프로그램의 모든 작업을 완료합니다.
두 번째 방법이 일반적으로 사용됩니다. JVM 사양은 충분히 유연하기 때문에 바이트코드를 기계어 코드로 더 효율적으로 변환할 수 있습니다. 실행 속도에 대한 요구 사항이 더 높은 애플리케이션의 경우 인터프리터를 사용하여 Java 바이트코드를 기계어 코드로 즉시 컴파일하여 Java 코드의 이식성과 고성능을 보장할 수 있습니다.
2. 예
public static void main(java.lang.String[]); descriptor: ([Ljava/lang/String;)V flags: ACC_PUBLIC, ACC_STATIC Code: stack=2, locals=4, args_size=1 0: iconst_1 1: istore_1 2: iconst_2 3: istore_2 4: iconst_1 5: iconst_2 6: invokestatic #2 // Method calc:(II)I 9: istore_3 10: return static int calc(int, int); descriptor: (II)I flags: ACC_STATIC Code: stack=6, locals=2, args_size=2 0: iload_0 1: i2d 2: ldc2_w #3 // double 2.0d 5: invokestatic #5 // Method java/lang/Math.pow:(DD)D 8: iload_1 9: i2d 10: ldc2_w #3 // double 2.0d 13: invokestatic #5 // Method java/lang/Math.pow:(DD)D 16: dadd 17: invokestatic #6 // Method java/lang/Math.sqrt:(D)D 20: d2i 21: ireturn
위 내용은 Java 바이트코드 실행의 두 가지 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!