Java
Standard
Edition
La programmation Orienté Objet en
Java.
Présenté par Ghislain AKINOCHO - Introduction à Java
PARTIE I
- Introduction à la POO
- Introduction à Java SE
Présenté par Ghislain AKINOCHO - Introduction à Java
Introduction
■ Java intègre les concepts les plus intéressants des technologies
informatiques récentes dans une plate-forme de développement riche
et homogène.
■ L’approche objet de ce langage, mais aussi sa portabilité et sa gratuité
en font un des outils de programmation idéaux pour s’initier à la
programmation objet.
Présenté par Ghislain AKINOCHO - Introduction à Java
Objectifs
développement de terminaux mobiles
Limites du C++
Architecture Adaptation des Interconnexion Historique
matérielle interfaces entre les différents Début des années 90 avec
incompatible graphiques appareils
le projet « green ».
Naissance de Java
création d’un nouveau langage plus adapté
Présenté par Ghislain AKINOCHO - Introduction à Java
Les caractéristiques de JAVA
■ Simplicité
– Tableaux et chaînes de caractères ➔ Objets (manipulation
aisée)
– Syntaxe proche des Langages C/C++
– Gestion de la mémoire (Garbagge Collector)
– Notion de pointeurs inexistante (source de nombreux bugs
en C/C++)
Présenté par Ghislain AKINOCHO - Introduction à Java
Les caractéristiques de JAVA
■ Orienté Objet
– Réutilisabilité des briques logicielles
– Facilité de correction et d’évolution du produit
– Maîtrise de la complexité
– Intègre les 3 principes fondamentaux des langages orientés
objet
■ l’Héritage
■ Le Polymorphisme
■ L’Encapsulation
Présenté par Ghislain AKINOCHO - Introduction à Java
Les caractéristiques de JAVA
■ Interprêté
– par la JVM (Java Virtual Machine).
■ Inconvénient : Plus lent.
■ Avantages : Compilation unique.
– Le compilateur produit du pseudo-code, pas du code machine
– Pas d’édition des liens (Obligatoire en C/C++)
■ Réalisée par la JVM à l’exécution
Présenté par Ghislain AKINOCHO - Introduction à Java
Les caractéristiques de JAVA
■ Distribué
– Développement d’applications client/serveur en architecture
distribuée
■ Invoquer des traitements depuis des machines distantes
■ Récupérer des données depuis des machines distantes
Présenté par Ghislain AKINOCHO - Introduction à Java
Les caractéristiques de JAVA
■ Robuste
– Un des objectifs de java est de produire des logiciels fiables.
– Langage très strict.
– Code source vérifié (syntaxe, types) à la compilation et à
l’exécution
■ Réduction des bugs et des problèmes d’incompatibilité de
versions.
– Gestion des pointeurs prise en charge par Java
■ Accès impossible par le programmeur
■ Evite les écrasements de données en RAM
Présenté par Ghislain AKINOCHO - Introduction à Java
Les caractéristiques de JAVA
■ Sécurisé
– Responsable : JRE (Java Runtime Environment) - Moteur
d’exécution
– Le processus ClassLoader
■ Chargement du byte code
■ Contrôles préalables (instructions suspectes)
– Possibilité de paramétrer la JRE pour le contrôle d’accès
– Protocoles d’accès au réseau (FTP, HTTP, Telnet …)
Présenté par Ghislain AKINOCHO - Introduction à Java
Les caractéristiques de JAVA
■ Indépendant des architectures
– Pas de production d’un code spécifique pour un type
d’architecture.
■ Utilisation du byte code : langage binaire intermédiaire
■ Avantages : compilation unique
– Une machine virtuelle par plate-forme cible
■ Nécessaire au fonctionnement d’un programme Java
■ Traduction du byte code en code natif.
Présenté par Ghislain AKINOCHO - Introduction à Java
Les caractéristiques de JAVA
■ Portable
– « Write Once Debug Everywhere »
– « Compile Once Run Anywhere »
■ WORA : « Write Once Run Anywhere »
■ Exécution sans modification sur toute plate-forme prenant en
charge Java
– Taille identique pour les types de données primaires quelle
que soit la plateforme cible.
■ Contrairement au C/C++
Présenté par Ghislain AKINOCHO - Introduction à Java
Les caractéristiques de JAVA
■ Performant
– JIT (Just In Time)
■ Processus d’optimisation de l’interprétation du code
■ Compilation à la volée du byte code Java en code natif ➔
Atteinte des mêmes performance qu’un programme écrit en C
ou C++.
Présenté par Ghislain AKINOCHO - Introduction à Java
Les caractéristiques de JAVA
■ Multitâche
– Mise en œuvre des applications multithreads
■ Exécution de plusieurs traitements simultanément
– Partage du temps CPU
– Partage des traitements entre plusieurs processeurs
– Synchronisation des threads qui partagent des informations.
Présenté par Ghislain AKINOCHO - Introduction à Java
Qu’est ce que « Java » ?
■ Un langage de programmation interprété et compilé.
■ Une plate-forme
– Constituée d’une partie logicielle s’exécutant sur de nombreuses
plateformes matérielles (terminaux mobile, ordinateur, etc …) et
différents systèmes d’exploitation disposant d’une JVM.
Présenté par Ghislain AKINOCHO - Introduction à Java
La plateforme « Java »
■ Trois principaux types d’applications avec des points d’entrée
différents sont pris en charge par Java :
– Application : qui s'exécute directement dans l’environnement
graphique de l’ordinateur où il est lancé
– Applet : qui s'introduit dans une page HTML et est exécuté via un
navigateur Web.
– Servlets : qui s’exécute sur un serveur Web.
Présenté par Ghislain AKINOCHO - Introduction à Java
La plateforme « Java »
Ses composants
1. La machine virtuelle Java (JVM),
– Elle fournit un environnement d'exécution homogène (malgré
l'hétérogénéité des systèmes d’exploitation et architectures matérielles
sous-djacentes)
2. L’interface de Programmation d’Application Java (API Java),
– API de bases,
– API d’accès aux données et d’intégration avec l’existant,
– API de gestion de l’interface avec l’utilisateur.
3. Les outils de déploiement des applications,
4. Les outils d’aide au développement,
Présenté par Ghislain AKINOCHO - Introduction à Java
La plateforme « Java »
Ses composants
La machine virtuelle Java (JVM),
– Chargement des classes et du byte code qu’elles contiennent.
■ A l’invocation de la création d’objets ou des membres d’une classe,
elle charge dynamiquement le byte code qui doit être interprété.
Présenté par Ghislain AKINOCHO - Introduction à Java
La plateforme « Java »
Ses composants
La machine virtuelle Java (JVM),
– Gestion de la mémoire avec le « garbage collector »
– Sécurité : Effectue les contrôles suivants :
■ Appel à de la mémoire non initialisée, conversions illégales de
types, manipulation des pointeurs en mémoire.
■ Pour les applets :
– Accès interdit aux périphériques de la machine sur laquelle
s’exécute l’applet.
– Accès au réseau uniquement vers l’hôte qui diffuse l’applet.
Présenté par Ghislain AKINOCHO - Introduction à Java
La plateforme « Java »
Les 3 éditions
■ Il existe différentes éditions de la plate-forme de développement
Java :
– Java Standard Edition (JSE) destiné au marché des ordinateurs de
bureau (Desktop)
– Java Micro Edition (JME) qui cible les terminaux portables, les cartes à
puces, les assistants personnels (PDA)
– Java Enterprise Edition (JEE) destiné au marché des applications
d’entreprises robustes et interopérables. Elle facilite le développement
et le déploiement d’applications distribuées à travers le web.
Présenté par Ghislain AKINOCHO - Introduction à Java
La plateforme « Java »
Présenté par Ghislain AKINOCHO - Introduction à Java
La plateforme « Java »
Ses composants
L’Interface de Programmation d’Application Java (API Java)
– Collection de composants logiciels préfabriqués fournissant de
nombreuses fonctionnalités
– plus de 220 packages (≈ librairies en langage C)
– plus de 4300 classes et interfaces préfabriqués directement
réutilisables.
– Possibilité d’ajout d’extensions.
■ Gestion des images 3D
■ Gestion des ports de communication de l’ordinateur, de la téléphonie, des
courriers électroniques …
Présenté par Ghislain AKINOCHO - Introduction à Java
L’environnement de
développement pour « Java »
■ Deux possibilités
– Le JDK (Java Development Kit) de Oracle
■ Référence pour dévélopper en Java et totalement gratuit.
■ Comporte tous les outils indispensables à la réalisation et l'exécution d'un
programme Java
– Les IDE (Integrate Development Environment)
■ Offrent une interface graphique et d’autres outils intéressants au-dessus
du JDK.
■ Le JDK ne fournissant malheureusement pas d’interface graphique qui
permet de rendre conviviale l’utilisation des ses outils.
Présenté par Ghislain AKINOCHO - Introduction à Java
L’environnement de
développement pour « Java »
■ Il existe sur le marché des IDE (payants et aussi gratuits
heureusement) qui fournissent une surcouche graphique au JDK.
1. Eclipse ([Link]
2. IntelliJ IDEA ([Link] – Community
3. NetBeans ([Link]
4. …
Présenté par Ghislain AKINOCHO - Introduction à Java
Cycle de conception
d’un programme en « Java »
1. Plate-forme JSE de développement (JDK)
– Intimement liée à la plate-forme Utilisateur.
– [Link]
2. Utilisation des API standards de Java pour l’écriture des codes source.
– Structure de base d’un programme Java = la classe.
Compilation ([Link])
– Fichier généré du même nom que le fichier .java mais avec extension .class.
– Indépendant de toute plate-forme et système d’exploitation.
3. L’ntéprêtation ([Link])
– Lancement de l’exécution du programme Java.
Présenté par Ghislain AKINOCHO - Introduction à Java
Cycle de conception
d’un programme en « Java »
Code source Java
Fichier [Link]
[Link]
Compilation unique
[Link] bytecode interprêtable
[Link]
Interprêtation par la JVM
Interprêtation par la JVM
JVM Windows JVM Unix
Interprêté Interprêté
Binaire Win Binaire Unix
Exécution de l’application HelloWorld sur
différentes plateformes sans recompilation
Interprêtation par la JVM
JVM Mac Os
Interprêté
Binaire Mac
Présenté par Ghislain AKINOCHO - Introduction à Java
Installation du JDK
■ Téléchargement
– Dernière version du JDK pour l’environnement windows (Win32 ou Win64) depuis
le site d’Oracle :
■ [Link]
Présenté par Ghislain AKINOCHO - Introduction à Java
Installation du JDK
■ Configuration de la variable d’environnement PATH
1. PATH est une variable d'environnement qui définit les répertoires où doivent
être cherchés les exécutables lorsqu'une commande est tapée dans
l'interpréteur de commandes MSDOS.
2. Pour utiliser java facilement, cette variable doit bien évidemment contenir le
nom du répertoire où se trouvent les binaires des outils java (javac, java, java
doc, jar ....).
3. Il est nécessaire de configurer le système pour indiquer dans quel répertoire
sont stockés les outils tels que:
» [Link] (machine virtuelle)
» [Link] (compilateur).
Présenté par Ghislain AKINOCHO - Introduction à Java
Installation du JDK
■ Configuration de la variable d’environnement PATH
4. Pour se faire, il faut modifier la variable d’environnement PATH pour ajouter le
chemin d’accès vers le répertoire bin du jdk.
■ Si vous avez conservé les options par défaut lors de l’installation, ce chemin doit
être C:\Program Files\Java\jdk1.8.0_261\bin
5. La configuration peut se faire en ligne de commandes ou dans les paramètres
Windows (Variables d’environnement)
Présenté par Ghislain AKINOCHO - Introduction à Java
Installation du JDK
■ Configuration de la variable d’environnement PATH
Présenté par Ghislain AKINOCHO - Introduction à Java
Installation du JDK
■ Configuration de la variable d’environnement PATH
Présenté par Ghislain AKINOCHO - Introduction à Java
Installation du JDK
■ Test du JDK
1. Utilisez toujours la console Invite de commandes MS-DOS.
» La commande suivante vous permet de savoir si l’installation du SDK est
correct ou non : java -version
Cette commande affiche des
informations concernant la version de
la machine virtuelle Java.
Si vous obtenez un message du style : ’java’ n’est pas reconnu en tant que commande interne ou externe, un
programme exécutable ou un fichier de commandes, cela signifie que le répertoire où sont stockés les outils
du SDK n’a pas été trouvé par votre système. Vérifier la modification de la variable path.
Présenté par Ghislain AKINOCHO - Introduction à Java
Installation du JDK
■ Installation de la documentation du JDK et des API standards
1. A l’aide d’un utilitaire de décompression tel que Win zip, ouvrez le fichier
précédemment téléchargé.
2. Extrayez tous les fichiers qu’il contient vers la racine d’installation du JDK, par
défaut : C:\Program Files\Java\jdk1.8.0_261
3. Une fois les fichiers extraits, vous devez avoir un nouveau répertoire docs.
4. Dans le sous-répertoire docs\api, double cliquez sur le fichier
[Link].
Présenté par Ghislain AKINOCHO - Introduction à Java
Installation du JDK
Présenté par Ghislain AKINOCHO - Introduction à Java
Installation du JDK
■ Cette page est organisée en 3 fenêtres :
1. En haut à gauche se trouve la liste des packages (plus de 220).
2. En bas à gauche se trouve la liste des classes contenues dans le package
sélectionné dans la section précédente.
3. La plus grande fenêtre contient la description d’un composant sélectionné
dans la section précédente.
Présenté par Ghislain AKINOCHO - Introduction à Java
Création d’un programme Java
■ Création du fichier source
1. Un ou plusieurs fichiers de code source sont créés selon l’importance du
programme à réaliser.
2. Tout code Java est contenu à l’intérieur d’une classe qui est elle-même
contenue dans un fichier portant l’extension Java.
3. Plusieurs classes peuvent exister dans un même fichier .java mais une seule
peut être déclarée publique, et c’est cette classe qui donne son nom au fichier.
4. Un simple éditeur de texte, tel que le Bloc-notes de Windows est suffisant
pour écrire des sources Java.
Présenté par Ghislain AKINOCHO - Introduction à Java
Création d’un programme Java
■ La procédure principale
Présenté par Ghislain AKINOCHO - Introduction à Java
Création d’un programme Java
■ Compiler un fichier source
1. Utilisation de l’outil en ligne de commande javac fourni avec le JDK.
2. Ouvrir une console Invite de commandes.
3. Aller dans le dossier contenant le fichier source (.java), à l’aide de la
commande cd suivi d’un espace puis du chemin absolu du dossier qui contient
votre fichier source.
4. Lancer la commande : javac [Link]
javac : compilateur java en ligne de commande
<nomFichier> : nom du fichier source Java.
.java : extension qui indique que le fichier est une source java
Présenté par Ghislain AKINOCHO - Introduction à Java
Création d’un programme Java
■ Compiler un fichier source
1. En cas de succès de la compilation aucun message n’est affiché et le fichier
[Link] est créé dans le même dossier.
2. En cas d’échec (erreur détectée), le compilateur affiche à l’écran un texte
décrivant l’erreur.
3. Remontez toujours à la première erreur du texte renvoyé par javac, car les
dernières erreurs sont généralement liées aux premières de la liste.
Présenté par Ghislain AKINOCHO - Introduction à Java
Création d’un programme Java
■ Exemple de compilation réussie
Appel au
compilateur
Pas de nouvelle,
bonne nouvelle
Présenté par Ghislain AKINOCHO - Introduction à Java
Création d’un programme Java
■ Exemple d’une compilation en échec
Présenté par Ghislain AKINOCHO - Introduction à Java
Création d’un programme Java
■ Exécuter une application
1. Une application Java est un programme autonome, mais qui, pour être
exécuté, nécessite l’emploi d’un interpréteur Java (la machine virtuelle java)
qui charge la méthode main() de la classe principale de l’application.
2. Pour lancer l’exécution d’une application Java, il faut utiliser l’outil en ligne de
commande java fourni avec le JDK.
Présenté par Ghislain AKINOCHO - Introduction à Java
Création d’un programme Java
■ Exécuter une application
java NomFichier argument1 argument2 … argumentN
java Outil en ligne de commande qui lance l’exécution de la machine
virtuelle Java
NomFichier Est obligatoirement le nom du fichier binaire (.class) qui contient le
point d’entrée de l’application, la méthode main().
Important : ne pas mettre l’extension .class après le nom du fichier
car ceci est fait implicitement par la machine virtuelle Java
argument1 … Les différents arguments de la méthode main.
argumentN
Présenté par Ghislain AKINOCHO - Introduction à Java
Création d’un programme Java
■ Exécuter une application
java NomFichier argument1 argument2 … argumentN
Présenté par Ghislain AKINOCHO - Introduction à Java
Création d’un programme Java
■ Exécuter une application
1. Séparés par un espace de la classe contenant le main
2. Séparés les uns des autres par des espaces
3. L’indice du premier paramètre est à 0
4. Le premier paramètre n’est pas la classe
Présenté par Ghislain AKINOCHO - Introduction à Java
FIN Vers les
langage.
bases du
Présenté par Ghislain AKINOCHO - Introduction à Java