SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
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 javaFouad Root
 
GWT Principes & Techniques
GWT Principes & TechniquesGWT Principes & Techniques
GWT Principes & TechniquesRachid NID SAID
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro javaAmel Morchdi
 
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 nouveautesAbdenour 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 tousMicrosoft
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache MavenArnaud Héritier
 
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 10Jean-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 maintenantJean-Michel Doudoux
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache MavenArnaud Héritier
 
Java - programmation concurrente
Java - programmation concurrenteJava - programmation concurrente
Java - programmation concurrenteFranck SIMON
 
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 2018Jean-Michel Doudoux
 

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 ManagementPeter 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 REPORTMateus 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 StillstandsmanagementMateus 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éceptionG. Christophe
 
Musikschulpost SJ14-15
Musikschulpost SJ14-15Musikschulpost SJ14-15
Musikschulpost SJ14-15design_msom
 
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 ) 1Benito 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 2011PR 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 ) 1Benito 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 - Fotofreak360fotofreak360
 
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 NumeriqueCarlos 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

1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptxRihabBENLAMINE
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdfOmbotimbe 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 EEYassine 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 JenkinsCocoaHeads 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 JavaDocDoku
 
Java-Introduction (1).pdf
Java-Introduction (1).pdfJava-Introduction (1).pdf
Java-Introduction (1).pdfKuateTanguy2
 
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 nutshellgdigugli
 
Installation et configuration d'openbravo
Installation et configuration d'openbravoInstallation et configuration d'openbravo
Installation et configuration d'openbravoSoumia Brabije
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'artInes 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-nantesChristophe 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 (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

L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...Faga1939
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetJeanYvesMoine
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Technologia Formation
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxrajaakiass01
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxShinyaHilalYamanaka
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfAmgdoulHatim
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxikospam0
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxhamzagame
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Coursebenezerngoran
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 

Dernier (18)

L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Cours
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 

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