SlideShare une entreprise Scribd logo
Chapitre2 : L’environnement de génération et d’exécution




                    MASTER PROFESSIONNEL
   NOUVELLES TECHNOLOGIES DES TELECOMMUNICATIONS ET RESEAUX
                            (N2TR)



                               Cours JAVA © FST
                   L’environnement de génération et d’exécution




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.




                                                                               1
Riadh BOUHOUCHI
Chapitre2 : L’environnement de génération et 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




                                                                                                                                                               2
Riadh BOUHOUCHI
Chapitre2 : L’environnement de génération et d’exécution


Avant d’entamer la partie génération et exécution nous allons présenter quelques
caractéristiques du langage JAVA.


Les principales caractéristiques du langage :




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.



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.




                                                                                                     3
Riadh BOUHOUCHI
Chapitre2 : L’environnement de génération et d’exécution


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 ou
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.




                                                                                                      4
Riadh BOUHOUCHI
Chapitre2 : L’environnement de génération et d’exécution



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




                                                                                                       5
Riadh BOUHOUCHI

Contenu connexe

PDF
Base11
PPTX
Introduction à Java
PDF
Java 2015 2016_zied_elleuch
PDF
Formation JAVA (1)
PDF
POO Java Introduction
PDF
I le langage java d'una manière avancée introduction
PDF
Java vs .Net
PDF
Objet Direct Formation Java pour devenir autonome
Base11
Introduction à Java
Java 2015 2016_zied_elleuch
Formation JAVA (1)
POO Java Introduction
I le langage java d'una manière avancée introduction
Java vs .Net
Objet Direct Formation Java pour devenir autonome

Tendances (20)

DOCX
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
PDF
Introduction java
PPT
GWT Principes & Techniques
PDF
Tutoriel java
PPTX
Java 11 to 17 : What's new !?
PPT
Java uik-chap1-intro java
PDF
Java 9 modules
PPTX
Back to the future of java (from 8 to 11 and beyond)
PPTX
Java version 11 - les 9 nouveautes
PPTX
.NET Microframework, les joies de l'électronique et du code pour tous
PPTX
20081008 - Tours Jug - Apache Maven
PPTX
Introduction a Java
PDF
Voxxeddays lux 2018 apres java 8, java 9 et 10
PPTX
Sonar-Hodson-Maven
PDF
Lyon JUG 2018 - Java le changement c'est maintenant
PPT
20081113 - Nantes Jug - Apache Maven
PDF
Java - programmation concurrente
PPTX
PDF
Apres java 8, java 9 et 10 - BreizhCamp 2018
PDF
Programmation Java
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Introduction java
GWT Principes & Techniques
Tutoriel java
Java 11 to 17 : What's new !?
Java uik-chap1-intro java
Java 9 modules
Back to the future of java (from 8 to 11 and beyond)
Java version 11 - les 9 nouveautes
.NET Microframework, les joies de l'électronique et du code pour tous
20081008 - Tours Jug - Apache Maven
Introduction a Java
Voxxeddays lux 2018 apres java 8, java 9 et 10
Sonar-Hodson-Maven
Lyon JUG 2018 - Java le changement c'est maintenant
20081113 - Nantes Jug - Apache Maven
Java - programmation concurrente
Apres java 8, java 9 et 10 - BreizhCamp 2018
Programmation Java
Publicité

En vedette (20)

PDF
International Project Management
PDF
RTB8 - Atelier5 Tourisme collaboratif : c'est quoi et quelles conséquences po...
PDF
RFID INSIGHT REPORT
PDF
Weniger Krise – mehr Projekte: Trends im Stillstandsmanagement
PPTX
Fotografie
PPTX
Soin du visage
PPT
Formation réception
PDF
Catalog Vaze Degardo
PDF
Musikschulpost SJ14-15
PDF
Azure et e commerce
DOCX
Benito ezequiel lopez perez ( proyecto integrador ) 1
PDF
PR PLUS Interessenten-Newsletter März 2011
PPTX
Français v partiel 1
PDF
References immo
DOCX
Benito ezequiel lopez perez ( proyecto integrador ) 1
PPTX
French Festivals
PDF
Eneatipos resumen
PPTX
Présentation ma ville_changsha
PPTX
Die besten Foto-Apps für tolle Tierfotografie - Fotofreak360
PPTX
Les robots vont-ils prendre nos emplois ? - Cafe Numerique
International Project Management
RTB8 - Atelier5 Tourisme collaboratif : c'est quoi et quelles conséquences po...
RFID INSIGHT REPORT
Weniger Krise – mehr Projekte: Trends im Stillstandsmanagement
Fotografie
Soin du visage
Formation réception
Catalog Vaze Degardo
Musikschulpost SJ14-15
Azure et e commerce
Benito ezequiel lopez perez ( proyecto integrador ) 1
PR PLUS Interessenten-Newsletter März 2011
Français v partiel 1
References immo
Benito ezequiel lopez perez ( proyecto integrador ) 1
French Festivals
Eneatipos resumen
Présentation ma ville_changsha
Die besten Foto-Apps für tolle Tierfotografie - Fotofreak360
Les robots vont-ils prendre nos emplois ? - Cafe Numerique
Publicité

Similaire à JAVA Chapitre2 (20)

PDF
Chap 02 poo en java
PPT
Java programmation OO, héritage et polymorphisme
PPSX
Java & Etat de l'art
PDF
JAVA Chapitre1
PDF
Support POO Java première partie
PPTX
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
PDF
0251-formation-java-programmation-objet.pdf
PPTX
Seance_1_cours_introduction_java_Copie.pptx
PDF
Chapitre 1 introduction generale
PDF
Dej 1 30
PDF
Java-Introduction (1).pdf
PDF
CHOUGDALI_Cours_Java.pdfjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPT
Chap1_Generalites_JAVA.ppt ggggggggggggggggggggggg
PDF
Framework Spring_ In!!!!!!!troduction.pdf
PPT
Java uik-chap2-dev java
PDF
Java 110605092007-phpapp02
PPT
Java PROGRAMATION CLASSE INFORMATIQUE.ppt
PDF
Introduction àJava
PDF
PDF
Alphorm.com Formation Java, les fondamentaux
Chap 02 poo en java
Java programmation OO, héritage et polymorphisme
Java & Etat de l'art
JAVA Chapitre1
Support POO Java première partie
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
0251-formation-java-programmation-objet.pdf
Seance_1_cours_introduction_java_Copie.pptx
Chapitre 1 introduction generale
Dej 1 30
Java-Introduction (1).pdf
CHOUGDALI_Cours_Java.pdfjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Chap1_Generalites_JAVA.ppt ggggggggggggggggggggggg
Framework Spring_ In!!!!!!!troduction.pdf
Java uik-chap2-dev java
Java 110605092007-phpapp02
Java PROGRAMATION CLASSE INFORMATIQUE.ppt
Introduction àJava
Alphorm.com Formation Java, les fondamentaux

Plus de Mohamed Ferchichi (12)

PDF
JAVA Chapitre8
PDF
JAVA Chapitre7
PDF
JAVA Chapitre6
PDF
JAVA Chapitre5
PDF
JAVA Chapitre4
PDF
JAVA Chapitre3
PDF
Résumé sur l’utilisation du système unix
PDF
Parti 2 utilitaires pour fichiers
PDF
Parti 1 concepts de base
PDF
PDF
Cours gestion et economie 1
PDF
Traitement de signal 1
JAVA Chapitre8
JAVA Chapitre7
JAVA Chapitre6
JAVA Chapitre5
JAVA Chapitre4
JAVA Chapitre3
Résumé sur l’utilisation du système unix
Parti 2 utilitaires pour fichiers
Parti 1 concepts de base
Cours gestion et economie 1
Traitement de signal 1

Dernier (20)

PPT
diaporama pictogrammes de securité2.ppt
PDF
Referentiel des metiers cadres dans la banque
PPTX
Presentation_carte_arduino_uno_1_Entree_Sortie_numerique.pptx
PPTX
SESSION5-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PDF
_LEAN_MANAGEMENT_Am_lioration_continue_�_1724845102.pdf
PDF
Avis Digital Marketing Elite: Mon Retour d'Expérience Après 3 Mois d'Utilisation
PPTX
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PPTX
Fondamentaux du LMD.pptx pour les etudiants
PPTX
Copie de Présentation Personal Branding J2025.pptx_20250610_120558_0000.pptx
PPT
Etalonnage de débitmètres.Champ d'application
PPTX
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PPTX
Séminaire protection des personnes vulnérables.pptx
PPTX
Présentation Personal Branding J2025.pptx_20250218_132749_0000.pptx_20250610_...
PPTX
Informatique pour débutants niveau 1.pptx
PDF
🎓 Le Secret des Profs Captivants - 💡 Pourquoi l’oral est stratégique en class...
PPTX
le subjonctif présent, Conjugaison français
PPT
مبادئ و هدف الحركة الكشفية عرض تقديمي.ppt
PPT
calcul---électrique--et--chutes de tension.ppt
PPT
Les moyens de transport-2023.ppt french language teaching ppt
PPTX
SESSION4-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
diaporama pictogrammes de securité2.ppt
Referentiel des metiers cadres dans la banque
Presentation_carte_arduino_uno_1_Entree_Sortie_numerique.pptx
SESSION5-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
_LEAN_MANAGEMENT_Am_lioration_continue_�_1724845102.pdf
Avis Digital Marketing Elite: Mon Retour d'Expérience Après 3 Mois d'Utilisation
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
Fondamentaux du LMD.pptx pour les etudiants
Copie de Présentation Personal Branding J2025.pptx_20250610_120558_0000.pptx
Etalonnage de débitmètres.Champ d'application
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
Séminaire protection des personnes vulnérables.pptx
Présentation Personal Branding J2025.pptx_20250218_132749_0000.pptx_20250610_...
Informatique pour débutants niveau 1.pptx
🎓 Le Secret des Profs Captivants - 💡 Pourquoi l’oral est stratégique en class...
le subjonctif présent, Conjugaison français
مبادئ و هدف الحركة الكشفية عرض تقديمي.ppt
calcul---électrique--et--chutes de tension.ppt
Les moyens de transport-2023.ppt french language teaching ppt
SESSION4-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...

JAVA Chapitre2

  • 1. Chapitre2 : L’environnement de génération et d’exécution MASTER PROFESSIONNEL NOUVELLES TECHNOLOGIES DES TELECOMMUNICATIONS ET RESEAUX (N2TR) Cours JAVA © FST L’environnement de génération et d’exécution 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. 1 Riadh BOUHOUCHI
  • 2. Chapitre2 : L’environnement de génération et 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 2 Riadh BOUHOUCHI
  • 3. Chapitre2 : L’environnement de génération et d’exécution Avant d’entamer la partie génération et exécution nous allons présenter quelques caractéristiques du langage JAVA. Les principales caractéristiques du langage : 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. 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. 3 Riadh BOUHOUCHI
  • 4. Chapitre2 : L’environnement de génération et d’exécution 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 ou 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. 4 Riadh BOUHOUCHI
  • 5. Chapitre2 : L’environnement de génération et d’exécution 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 5 Riadh BOUHOUCHI