Bas de page
Page précédente Sommaire Page suivante
Bas de page

III) ELEMENTS DE PROGRAMMATION

1) Compilé ou interprété ?

Java est un langage pour applications réseaux qui a été développé par
Sun Microsystems. L’utilisation la plus connue de Java est sans aucun doute celle qui
anime § les pages HTML du WEB à savoir les Applets. Il est, pour l’instant, le seul
langage à offrir tous les outils nécessaires à la réalisation de pages HMTL réellement dynamiques et interactives.
Cependant les Applets ne sont qu' une petite partie de Java…

Java possède deux visages vis-à-vis de l’exécution. Il existe, en effet, deux types de programmes Java, d’une part
les Applets et d’autre part les applications. Les Applets sont, comme nous l’avons décrit précédemment, du code
Java qui s’exécute sur la machine cliente au sein d’un arpenteur tandis que les applications Java sont l’équivalent
d’un code C/C++ que l’on exécute sur place.

Il existe cependant une différence majeure entre un programme Java et un programme C/C++. En Java un
programme (pour des raisons de portabilité) ne peut accéder directement au système, il accède à ce que l'on
appelle la machine virtuelle java (JVM). Java fonctionne donc selon un système en trois couches où la couche
applicative attaque la JVM qui elle-même est en relation directe avec le système d'exploitation.

Ainsi tout type de programme Java (Applet ou Application) est en relation directe avec une JVM. Ce qui change
radicalement entre une Applet et une application Java, c'est la JVM ! En effet, pour une application Java la JVM
sera constituée du JRE (environnement d'exécution) alors que pour une Applet la JVM est intégrée à l'arpenteur.

(§ Ce verbe pourrait presque être conjugué à l'imparfait, car dans ces débuts dynamiques, le WEB n'avait pas beaucoup
d'applications coté client, mais depuis le HTML s'est perfectionné, le JavaScript a augmenté son capital de fonctions
et des technologies comme FLASH sont apparues reléguant le coté ludique des lourdes Applets bien loin derrière. En
effet, combien de fois avez-vous fermé un arpenteur qui n'en finissait plus d'afficher : Starting Java ?)

Figure 1 : le système trois couche de Java

Arrivé à ce stade de connaissance de Java on peut se demander : "Comment s'exécute du code Java ?". Est-il
interprété ou compilé ? Les uns dirons que Java est portable, que les mêmes fichiers d'une même Application
Java s'exécutent sur des machines aux systèmes d'exploitation incompatibles ; ces gens là déduiront que Java est
interprété. D'autres dirons que du code Java doit être compilé avant de pouvoir être exécuté, donc que Java est
compilé. En fait, les deux positions sont valables, on peut dire que Java est à la fois compilé et interprété. Le
compilateur Java génère du bytecode Java qui sera exécuté par la machine virtuelle Java (Java Virtual
Machine).

Le premier atout de Java est son universalité. Celle-ci est garantie par la machine virtuelle Java qui traduit
purement et simplement le bytecode Java en instruction machine. Dans le cadre d'une compilation
traditionnelle (type C), un même source doit être recompilé autant de fois qu'il y a de plates-formes cibles.
Figure 2 : exemple de compilation C

Avec Java, le même source compilé donnera exactement le même bytecode quelque soit le compilateur Java
utilisé ou la plate-forme de compilation. Cette particularité est due au fait que Sun a normalisé le fruit de la
compilation (bytecode Java) afin d'assurer l'interopérabilité des JVM entre elles et garantir ainsi l'universalité
du code Java.
Figure 3 : exemple de compilation Java

Haut de page
Page précédente Sommaire Page suivante
Haut de page
Contactez-nous
Conditions d'utilisation
Qui sommes nous?
© 2001 IsepFAQtory Tous droits réservés