Maison > Java > javaDidacticiel > Quelles sont les deux méthodes d'exécution du bytecode Java ?

Quelles sont les deux méthodes d'exécution du bytecode Java ?

WBOY
Libérer: 2023-04-28 09:34:06
avant
1397 Les gens l'ont consulté

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
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal