Vous êtes sur la page 1sur 5

Chapitre 3: L’environnement de génération et d’exécution

Master Pro SRT : 2021 - 2022

Objectif :

Ce chapitre vous permettra d’identifier les principales caractéristiques du


langage JAVA et de comprendre le cycle de vie d’un code écrit en JAVA et son
mode d’exécution.
Sommaire
L’environnement de génération et d’exécution ..................................................................................... 1

Les principales caractéristiques majeures de Java sont : ...................................................................... 3

L’environnement de génération Java : ................................................................................................. 3

Code source : ................................................................................................................................... 4

Compilateur : ................................................................................................................................... 4

Bytecode : ........................................................................................................................................ 4

Environnement d'exécution Java : .................................................................................................. 4

La machine virtuelle : ...................................................................................................................... 4

Exemple :............................................................................................................................................... 5

Récapitulatif : ............................................................................................................................... 5

Riadh BOUHOUCHI
Les principales caractéristiques
majeures de Java sont :

Simple : vu que langage Java ressemble au langage C et C++ donc presque tous les
développeurs qui ont utilisé le langage C ou C++ ne trouveront pas de difficultés à
passer vers Java.
Orienté Objet : tout est orienté objet et de ce fait on peut utiliser et réutiliser les objets
dans une application au cours du temps et selon le besoin, ce qui permet de développer
des applications beaucoup plus rapidement et, plus facilement.
Distribué : exécution des processus à distance en s’appuyant sur les protocoles
TCP/IP, tels que FTP (transfert de fichier) et HTTP (liens hypertextes du WWW), ceci se
fait avec la librairie de routines.
Robuste : la vérification des bugs dans un programme lors de son cycle de
développement comme par exemple écrire sur des espaces mémoire déjà alloués, ou
d’altérer des données en mémoire.
Sécurisé : Java étant prévu pour être utilisé en réseau, la sécurité a été prise en compte
dès le début de la définition de ce langage : La technique d’authentification s’appuie
sur des mécanismes de chiffrement à clé publique.
Indépendant de l’architecture : le code généré par le compilateur Java peut être
exécuté sur n’importe quel système sur lequel le runtime Java a été porté, il n’est pas
dépendant d’un système d’exploitation particulier.
Portable : le programme peut être porté d’un système à un autre.
Interprété : L’interpréteur Java exécute le code compilé sur tout système sur lequel
est disponible le runtime Java (Windows 95, Windows NT, Windows XP, Windows VISTA,
MacOS, Solaris, etc.).
Multithreadé : Un Thread est un flot d’instructions s’exécutant en concurrence avec
d’autres threads dans un même processus, ceci permet de rendre une application
interactive.

Riadh BOUHOUCHI
L’environnement de génération Java :
L’environnement de génération a pour rôle de transformer un code source Java en un bytecode(le
fichier « .class ») en utilisant un compilateur JAVA
Code source :
Le code source est un ensemble d'instructions écrites dans un langage de programmation
informatique de haut niveau, compréhensible par un être humain entraîné, permettant d'obtenir
un programme pour un ordinateur.

Les systèmes d'exploitation ne peuvent pas exploiter directement le code source ; ils ne peuvent
que lancer des exécutables. Donc, le code source doit être :

Transformé en code compréhensible par la machine à l’aide de l'opération de


compilation,

Ou exécuté tel quel par un interpréteur.

Compilateur :
Un compilateur est un langage de programmation qui permet de traduire le code source JAVA
en bytecode.

Bytecode :
Le bytecode Java est le résultat de la compilation d'un programme dont le code source est en
Java par le compilateur Java. Ce bytecode peut être exécuté sous de nombreux systèmes
d'exploitation par l'interpréteur Java ou la machine virtuelle Java.
Le bytecode est un code binaire, ce qui permet un traitement plus rapide que le code source
Java, et qui rassemble (compile) tous les codes dispersés dans différents fichiers lors de
l'écriture du programme.

Environnement d'exécution Java :


Les fichiers « .class » seront rassemblés pour être compilés par un compilateur à temps réel o u
interprétés par un interpréteur Java dans la machine virtuelle.
Une fois compilé le résultat pourra être exécuté sur le système d’exploitation désiré (Windows,
mac, etc. ...) et sur la plateforme désiré (pc, téléphone, etc. ...).

La machine virtuelle :
La Java virtual machine est une machine virtuelle permettant d’interpréter et d’exécuter le
bytecode Java.
Ce programme est spécifique à chaque plate-forme ou couple (machine/système d’exploitation)
et permet aux applications Java compilées en bytecode de produire les mêmes résultats quelle
que soit la plate-forme, tant que celle-ci est pourvue de la machine virtuelle Java adéquate
.

Riadh BOUHOUCHI
Exemple :

Bytecode

Jvm SUN Jvm autre


PC Linux plateforme

PC avec Linux Autre

Récapitulatif :

Code JAVA
Librairies de class Les Fichiers class
réunies

Compilateur

Bytecode JAVA chargé Interpréteur Compilateur


temps reelle
localement ou en JAVA JAVA
réseaux
JVM

Système et
Bytecode plateforme

Riadh BOUHOUCHI

Vous aimerez peut-être aussi