Adloun

programmation Java (école d'ingénieur) · Chapitre 1 · Exercice de TD

Regarder le bytecode

Premiers programmes · niveau 3 (difficile)

Énoncé

Le JDK fournit l'outil javap, qui affiche le contenu d'un fichier .class. Compiler Bonjour, puis taper javap -c Bonjour.

  • Repérer les instructions de bytecode qui correspondent à System.out.println("Bonjour !").
  • Le fichier contient une méthode que l'on n'a pas écrite. Laquelle ?

Corrigé


Compiled from "Bonjour.java"
public class Bonjour {
  public Bonjour();
    Code:
       0: aload_0
       1: invokespecial #1                  // Method java/lang/Object."<init>":()V
       4: return

  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #7                  // Field java/lang/System.out:Ljava/io/PrintStream;
       3: ldc           #13                 // String Bonjour !
       5: invokevirtual #15                 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
       8: return
}
  • Trois instructions : getstatic va chercher System.out, ldc charge la chaîne "Bonjour !", invokevirtual appelle println sur System.out avec cette chaîne. Puis return termine main.
  • Un constructeur public Bonjour(), ajouté automatiquement par le compilateur (on en verra le rôle au chapitre 7).

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →