
Avant-propos : Compilation et exécution de
programmes Java
V.Marangozova-Martin
1 Qu’est-ce Java ?
Java n’est pas uniquement un langage. En effet, Java dispose d’un ensemble
de classes prédéfinies (une bibliothèque) qui sont rassemblés dans le JDK =Java
Development Kit. Pour exécuter des programmes Java, un utilisateur a besoin
d’un environnement spécial qui est le JRE =Java Runtime Environment. Entre
autres, le JRE contient l’exécutable java pour lancer les programmes.
Pour créer un programme Java, un développeur a besoin de compiler un en-
semble de classes. La compilation se fait par javac=java compiler. La com-
pilation d’une classe Java produit du code dans un format spécial qui est pro-
priétaire à Java et qui s’appele le bytecode. Le bytecode est un langage machine
pour une machine spéciale : la machine virtuelle Java.
En effet, si vous travaillez sur une machine (votre PC, par exemple) et si
vous exécutez un programme Java, votre programme s’exécutera à l’intérieur
d’un processus Java qui interprêtera les instructions du bytecode. Ce processus
"simule" le fonctionnement d’un ordinateur : il lit une instruction, récupère les
données la concernant et l’exécute. Vu que les instructions machine ne sont pas
vraiment exécutées par un "vrai" processeur, nous parlons de machine virtuelle.
Dans le cas de Java, le langage machine Java est différent du langage machine
de la machine utilisée.
Quel est l’intérêt ? Vous avez certainement entendu le slogan de Java qui est
"Compile once, run everywhere". Effectivement, un programme Java compilé
peut s’exécuter sur n’importe quelle machine qui dispose du JRE. Petit bémol
quand même, le JRE est implémenté différemment selon les plates-formes mais
ceci est transparent pour l’utilisateur.
Quel est l’intérêt des machines virtuelles en général ? Elles permettent (liste
non exhaustive et non vraiment triée...) :
– De se partager de manière sécurisée une machine.
– De donner l’impression que l’on dispose de la machine entière. Il suffit de
1