S. Laporte Java intro Lycée Louise Michel BTS IG DA
2/7
Programmes compilés
Avantages
- rapides à l’exécution
- code source inutile pour l’exécution (on peut vendre un programme compilé sans donner le
code : on ne risque pas (ou moins) de se faire copier)
Inconvénient
- un programme est compilé dans un langage machine donné : il ne va fonctionner que sur les
ordinateurs dont le processeur connaît ce langage machine. Ex : un programme compilé pour
Mac ne marchera pas sur PC. On dit qu’un programme compilé n’est pas portable.
Programmes interprétés
Avantage
- un programme interprété peut être exécuté sur n’importe quelle machine qui possède un
interpréteur du langage, quelque soit le type de langage machine (puisque c’est l’interpréteur qui
traduit dans le langage de la machine)
Inconvénients
- lents car chaque instruction doit d’abord être traduite par l’interpréteur avant d’être exécutée.
- l'exécution est basée sur le code source donc celui-ci doit être fourni au client qui peut s’en
servir à mauvais escient
Et Java dans tout ça ?
Java est un langage hybride, à la fois compilé et interprêté. On dit qu’il est semi-compilé.
Pour simplifier, disons qu’un programme Java est compilé dans un langage qui devra ensuite
être interprété. Le résultat de la compilation n’est pas du langage machine directement
exécutable (propre au processeur), mais un code intermédiaire appelé byte-code. Le byte-code
est intermédiaire entre le code source et le langage machine.
Pour exécuter le programme, le byte-code est interprété par un interpréteur appelé
machine virtuelle Java (MVJ). Toutes les machines actuelles possèdent une MVJ. Ainsi, le
byte-code d’un programme peut être exécuté sur n’importe quel ordinateur (possédant une MVJ)
alors qu’un programme compilé en langage machine n’est exécutable que sur un seul type de
processeur. C’est pour cela que le langage Java est un langage portable.
En outre, le langage Java a été conçu pour être utilisable avec Internet. Il existe deux
types de programmes java pour internet :
- les applets, petit programme incorporé aux pages web et exécuté localement par le
navigateur du client (les applets se rapprochent des scripts Javascript)
- les servlets, qui sont des programmes Java s'exécutant côté serveur et qui permettent
de répondre à des requêtes http envoyées par un navigateur client.
Cycle de vie d’un programme Java
- Pour écrire le code source d’un programme Java, n’importe quel éditeur de texte convient,
pourvu que le texte ne soit pas formaté. Le Bloc Note est bien adapté car il est chargé très
rapidement et ne permet pas le formatage du texte.
- Le fichier source doit être enregistré avec l’extension .java (au lieu de .cpp en C++) et porter le
même nom que la classe (ou la classe qui contient la fonction principale main s’il y en a
plusieurs)
- Le compilateur s’appelle javac. Pour compiler un programme java, on utilise une fenêtre DOS
(ou du langage de commande de NT) et on tape la commande :
javac NomDuProg.java