1. Description
(1) Méthode de compilation juste à temps : l'interpréteur compile d'abord le bytecode en code machine, puis exécute le code machine.
(2) Méthode d'interprétation et d'exécution : L'interpréteur termine toutes les opérations du programme de bytecode Java en interprétant et en exécutant un petit morceau de code à chaque fois.
La deuxième méthode est couramment utilisée. La spécification JVM étant suffisamment flexible, elle peut convertir plus efficacement le bytecode en code machine. Pour les applications qui ont des exigences plus élevées en matière de vitesse d'exécution, l'interpréteur peut être utilisé pour compiler immédiatement le bytecode Java en code machine, garantissant ainsi la portabilité et les hautes performances du code Java.
2. Exemple
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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!