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

Tendances

Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Michael Njong
 
Introduction java
Introduction javaIntroduction java
Introduction java
Fouad Root
 
GWT Principes & Techniques
GWT Principes & TechniquesGWT Principes & Techniques
GWT Principes & Techniques
Rachid NID SAID
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
Kalilou DIABY
 
Java 11 to 17 : What's new !?
Java 11 to 17 : What's new !?Java 11 to 17 : What's new !?
Java 11 to 17 : What's new !?
Jérôme Tamborini
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro javaAmel Morchdi
 
Java 9 modules
Java 9    modulesJava 9    modules
Java 9 modules
Franck SIMON
 
Back to the future of java (from 8 to 11 and beyond)
Back to the future of java (from 8 to 11 and beyond)Back to the future of java (from 8 to 11 and beyond)
Back to the future of java (from 8 to 11 and beyond)
Jérôme Tamborini
 
Java version 11 - les 9 nouveautes
Java version 11 -  les 9 nouveautesJava version 11 -  les 9 nouveautes
Java version 11 - les 9 nouveautes
Abdenour Bouateli
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous
Microsoft
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache Maven
Arnaud Héritier
 
Introduction a Java
Introduction a JavaIntroduction a Java
Introduction a Java
Wiki Info Systeme
 
Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10
Jean-Michel Doudoux
 
Lyon JUG 2018 - Java le changement c'est maintenant
Lyon JUG 2018 - Java le changement c'est maintenantLyon JUG 2018 - Java le changement c'est maintenant
Lyon JUG 2018 - Java le changement c'est maintenant
Jean-Michel Doudoux
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven
Arnaud Héritier
 
Java - programmation concurrente
Java - programmation concurrenteJava - programmation concurrente
Java - programmation concurrente
Franck SIMON
 
Jenkins
JenkinsJenkins
Apres java 8, java 9 et 10 - BreizhCamp 2018
Apres java 8, java 9 et 10 - BreizhCamp 2018Apres java 8, java 9 et 10 - BreizhCamp 2018
Apres java 8, java 9 et 10 - BreizhCamp 2018
Jean-Michel Doudoux
 
Programmation Java
Programmation JavaProgrammation Java
Programmation Java
Mohamed Lahby
 

Tendances (20)

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

En vedette

International Project Management
International Project ManagementInternational Project Management
International Project Management
Peter Birnstingl
 
RTB8 - Atelier5 Tourisme collaboratif : c'est quoi et quelles conséquences po...
RTB8 - Atelier5 Tourisme collaboratif : c'est quoi et quelles conséquences po...RTB8 - Atelier5 Tourisme collaboratif : c'est quoi et quelles conséquences po...
RTB8 - Atelier5 Tourisme collaboratif : c'est quoi et quelles conséquences po...
R-Evolutions Touristiques de Brive
 
RFID INSIGHT REPORT
RFID INSIGHT REPORTRFID INSIGHT REPORT
RFID INSIGHT REPORT
Mateus Siwek
 
Weniger Krise – mehr Projekte: Trends im Stillstandsmanagement
Weniger Krise – mehr Projekte: Trends im StillstandsmanagementWeniger Krise – mehr Projekte: Trends im Stillstandsmanagement
Weniger Krise – mehr Projekte: Trends im Stillstandsmanagement
Mateus Siwek
 
Fotografie
FotografieFotografie
Fotografiemiahoit
 
Soin du visage
Soin du visageSoin du visage
Soin du visageWafa Memmi
 
Formation réception
Formation réceptionFormation réception
Formation réception
G. Christophe
 
Musikschulpost SJ14-15
Musikschulpost SJ14-15Musikschulpost SJ14-15
Musikschulpost SJ14-15
design_msom
 
Azure et e commerce
Azure et e commerceAzure et e commerce
Azure et e commerce
Michel HUBERT
 
Benito ezequiel lopez perez ( proyecto integrador ) 1
Benito ezequiel lopez perez ( proyecto integrador ) 1Benito ezequiel lopez perez ( proyecto integrador ) 1
Benito ezequiel lopez perez ( proyecto integrador ) 1
Benito Ezequiel López Pérez
 
PR PLUS Interessenten-Newsletter März 2011
PR PLUS Interessenten-Newsletter März 2011PR PLUS Interessenten-Newsletter März 2011
PR PLUS Interessenten-Newsletter März 2011
PR PLUS GmbH
 
Benito ezequiel lopez perez ( proyecto integrador ) 1
Benito ezequiel lopez perez ( proyecto integrador ) 1Benito ezequiel lopez perez ( proyecto integrador ) 1
Benito ezequiel lopez perez ( proyecto integrador ) 1
Benito Ezequiel López Pérez
 
French Festivals
French FestivalsFrench Festivals
French FestivalsSuramya10
 
Présentation ma ville_changsha
Présentation ma ville_changshaPrésentation ma ville_changsha
Présentation ma ville_changshafangqiong319
 
Die besten Foto-Apps für tolle Tierfotografie - Fotofreak360
Die besten Foto-Apps für tolle Tierfotografie - Fotofreak360Die besten Foto-Apps für tolle Tierfotografie - Fotofreak360
Die besten Foto-Apps für tolle Tierfotografie - Fotofreak360
fotofreak360
 
Les robots vont-ils prendre nos emplois ? - Cafe Numerique
Les robots vont-ils prendre nos emplois ? - Cafe NumeriqueLes robots vont-ils prendre nos emplois ? - Cafe Numerique
Les robots vont-ils prendre nos emplois ? - Cafe Numerique
Carlos González
 

En vedette (20)

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

Similaire à JAVA Chapitre2

Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
Yassine Badri
 
Rapport tp1 j2ee
Rapport tp1 j2eeRapport tp1 j2ee
Rapport tp1 j2ee
Soukaina Boujadi
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
ENSET, Université Hassan II Casablanca
 
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
RihabBENLAMINE
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
Ombotimbe Salifou
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Jasmine Conseil
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
Yassine Badri
 
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
sametmax
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
CocoaHeads France
 
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système JavaLes ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
DocDoku
 
Java-Introduction (1).pdf
Java-Introduction (1).pdfJava-Introduction (1).pdf
Java-Introduction (1).pdf
KuateTanguy2
 
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...Du hard et des réseaux: Les outils pour construire l'internet des objets chez...
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...
Microsoft
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshell
gdigugli
 
JAVA Chapitre1
JAVA Chapitre1 JAVA Chapitre1
JAVA Chapitre1
Mohamed Ferchichi
 
Installation et configuration d'openbravo
Installation et configuration d'openbravoInstallation et configuration d'openbravo
Installation et configuration d'openbravo
Soumia Brabije
 
APACHE TOMCAT
APACHE TOMCATAPACHE TOMCAT
APACHE TOMCAT
Rachid NID SAID
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
Ines Ouaz
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
Christophe Furmaniak
 

Similaire à JAVA Chapitre2 (20)

Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
 
Rapport tp1 j2ee
Rapport tp1 j2eeRapport tp1 j2ee
Rapport tp1 j2ee
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
 
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
 
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système JavaLes ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
 
Java-Introduction (1).pdf
Java-Introduction (1).pdfJava-Introduction (1).pdf
Java-Introduction (1).pdf
 
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...Du hard et des réseaux: Les outils pour construire l'internet des objets chez...
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshell
 
JAVA Chapitre1
JAVA Chapitre1 JAVA Chapitre1
JAVA Chapitre1
 
Installation et configuration d'openbravo
Installation et configuration d'openbravoInstallation et configuration d'openbravo
Installation et configuration d'openbravo
 
_JCVFr
_JCVFr_JCVFr
_JCVFr
 
APACHE TOMCAT
APACHE TOMCATAPACHE TOMCAT
APACHE TOMCAT
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
 
Architecture android
Architecture androidArchitecture android
Architecture android
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 

Plus de Mohamed Ferchichi

JAVA Chapitre8
JAVA Chapitre8JAVA Chapitre8
JAVA Chapitre8
Mohamed Ferchichi
 
JAVA Chapitre7
JAVA Chapitre7JAVA Chapitre7
JAVA Chapitre7
Mohamed Ferchichi
 
JAVA Chapitre6
JAVA Chapitre6JAVA Chapitre6
JAVA Chapitre6
Mohamed Ferchichi
 
JAVA Chapitre5
JAVA Chapitre5JAVA Chapitre5
JAVA Chapitre5
Mohamed Ferchichi
 
JAVA Chapitre4
JAVA Chapitre4JAVA Chapitre4
JAVA Chapitre4
Mohamed Ferchichi
 
JAVA Chapitre3
JAVA Chapitre3JAVA Chapitre3
JAVA Chapitre3
Mohamed Ferchichi
 
Résumé sur l’utilisation du système unix
Résumé sur l’utilisation du système unixRésumé sur l’utilisation du système unix
Résumé sur l’utilisation du système unix
Mohamed Ferchichi
 
Parti 2 utilitaires pour fichiers
Parti 2 utilitaires pour fichiersParti 2 utilitaires pour fichiers
Parti 2 utilitaires pour fichiers
Mohamed Ferchichi
 
Parti 1 concepts de base
Parti 1 concepts de baseParti 1 concepts de base
Parti 1 concepts de base
Mohamed Ferchichi
 
Trame mic
Trame micTrame mic
Cours gestion et economie 1
Cours gestion et economie 1Cours gestion et economie 1
Cours gestion et economie 1
Mohamed Ferchichi
 

Plus de Mohamed Ferchichi (12)

JAVA Chapitre8
JAVA Chapitre8JAVA Chapitre8
JAVA Chapitre8
 
JAVA Chapitre7
JAVA Chapitre7JAVA Chapitre7
JAVA Chapitre7
 
JAVA Chapitre6
JAVA Chapitre6JAVA Chapitre6
JAVA Chapitre6
 
JAVA Chapitre5
JAVA Chapitre5JAVA Chapitre5
JAVA Chapitre5
 
JAVA Chapitre4
JAVA Chapitre4JAVA Chapitre4
JAVA Chapitre4
 
JAVA Chapitre3
JAVA Chapitre3JAVA Chapitre3
JAVA Chapitre3
 
Résumé sur l’utilisation du système unix
Résumé sur l’utilisation du système unixRésumé sur l’utilisation du système unix
Résumé sur l’utilisation du système unix
 
Parti 2 utilitaires pour fichiers
Parti 2 utilitaires pour fichiersParti 2 utilitaires pour fichiers
Parti 2 utilitaires pour fichiers
 
Parti 1 concepts de base
Parti 1 concepts de baseParti 1 concepts de base
Parti 1 concepts de base
 
Trame mic
Trame micTrame mic
Trame mic
 
Cours gestion et economie 1
Cours gestion et economie 1Cours gestion et economie 1
Cours gestion et economie 1
 
Traitement de signal 1
Traitement de signal 1Traitement de signal 1
Traitement de signal 1
 

Dernier

Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
BenotGeorges3
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
Billy DEYLORD
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
M2i Formation
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
caggoune66
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 

Dernier (11)

Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
 

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