SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Kürzlich hochgeladen

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
 
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
 
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
 
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
 
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
 
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
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
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
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
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
 
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
 

Kürzlich hochgeladen (13)

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...
 
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.
 
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
 
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...
 
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
 
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
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
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
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
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
 
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
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 

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