Vous êtes sur la page 1sur 18

Langage Java

Présentation
M. CHEICKNE H DIAWARA INGENIEUR EN INFORMATIQUE APPLIQUER
ENSEIGNANT CHERCHEUR
USTTB(ISA)/ESGIC/IPSMART
Références
1. Jean-Michel DODOUX, Présentation de Java,
http://jmdoudoux.developpez.com/cours/developpons/java/chap-
presentation.php#presentation-3, 16/10/2018
2. Serge Tahé, APPRENTISSAGE DU LANGAGE JAVA, Université d'Angers,
Septembre 98 - Révision juin 2002
3. Un livre de Wikilivres, Programmation Java,
http://fr.wikibooks.org/wiki/Programmation_Java
Plan
1. Histoire
2. Propriétés du Langage
3. Compilation d’un code source
4. Processus d’interprétation
5. Architecture logicielle d’une application java
6. Editions de Java
7. Environnements de développement Intégrés (EDI)
8. La machine virtuelle (JVM)
9. Avantages et Inconvénients de Java
Histoire
 1991 : lancement du langage Java
 Initié par : Sun MicroSystem
 Equipe : James Gosling, Patrick Naughton et Mike Sheridan
 Projet : appelé « Green Project »
 Résultat : une plate-forme baptisée « Oak » initialement destinée à la télévision
interactive.
 Renommé en Java pour un problème de droit d’auteur.
 1995 : Lancement de Java, avec l'essor d'Internet avec les applet Java.
Histoire
 1996 : Lancement du JDK 1.0
 1997 : Lancement du JDK 1.1
 1998 : Lancement de Java 2 et du JDK 1.2
 1999 : Formalisation des environnements J2ME, de J2SE et J2EE ; Lancement
de Java TV.
 1999 : Lancement de Java Phone.
 2000 : Lancement de J2SE 1.3.
 2002 : Lancement de J2SE 1.4.
Histoire
 2003 : Lancement de J2EE 1.4.
 2004 : Lancement de J2SE 1.5, nommé également « J2SE 5.0 » ou « Tiger ».
 2006 : Lancement de JavaSE 6, nommé également « Mustang »
 2010 : Sun Microsystem est racheté par Oracle. Désormais, Java est maintenu par
la société Oracle.
 2011 : Lancement de JavaSE 7, nommé également « Dolphin ».
 2014 : Lancement de JavaSE 8, nommé également « Kenaï ».
Propriétés du Langage
 Java est un langage typé et orienté objet
 Notions usuelles de la programmation orientée objet : la notion de classe,
d'encapsulation, d'héritage, d'interface, de virtualité, de généricité.
 Bibliothèques standard couvrant de très nombreux domaines.
 Langage interprété et compilé
 La machine virtuelle (Java Virtual Machine – JVM)
 Les fichiers source : .java
 Les fichiers compilés : .class
Compilation d’un code source
Processus d’interprétation
Architecture logicielle d’une application java

Application java
Java Virtual Machine
Système d’Explotation
Matériel
Editions de Java
Il y a plusieurs éditions de Java : 

 La JME (java micro édition), pour les systèmes


portables. (gsm, ...)
 La JSE (java standard édition), pour les ordinateurs de
bureaux. (PC, MAC, ordinateurs portables, ...)
 La JEE (java entreprise édition), pour les entreprises
utilisant un réseau local. (clients, serveur)

PS : Java ne se limite pas que à ces éditions, il y a aussi


certaines versions qui sont utilisées dans le milieu de
l'embarqué.
EDI
Java utilise plusieurs Environnement de Développement Intégré
(EDI) :
 NetBeans de sun
 Eclipse de IBM
 J++
 JCreator
La machine virtuelle
Présentation
Le langage Java utilise la notion de machine virtuelle.
La machine virtuelle est composée de trois parties, et est souvent fournie avec le
Système d’Exploitation :
1. Environnement d'exécution
2. Chargeur de classe
3. Gestionnaire de mémoire
La machine virtuelle
Présentation
La machine virtuelle est capable de lancer :
 des applications indépendantes (standalone en anglais), lancées et fonctionnant
comme toute application installée sur la machine,
 des applets, à partir d'une page HTML (internet, réseau local ou en local sur la
machine). Pour cela, il faut que le navigateur possède une extension permettant
d'utiliser une machine virtuelle Java pour l'exécution de ces applets.
La machine virtuelle
Environnement d'exécution
 Java interprète le code compilé de pour permettre son exécution par la machine
réelle.
 Le code compilé est un fichier .class (bytecode)
 L'interpréteur effectue plusieurs tâches :
1. vérification du code intermédiaire ;
2. traduction en code natif (spécifique à la plateforme, au système
d'exploitation) ;
3. optimisation.
La machine virtuelle
Chargeur de classe et Gestionnaire de mémoire
Chargeur de classe
Le chargeur de classe charge les classes nécessaires à l'exécution, alloue l'espace mémoire
nécessaire et établit les liens entre elles (linkage).
Le chargeur de classe connait la structure d'un fichier .class.

Gestionnaire de mémoire
Le gestionnaire mémoire assure les services liés à la mémoire :
 un ramasse-miette (garbage collector) ;
 une protection mémoire même sur les machines dépourvues d'unité de gestion mémoire
(MMU).
Avantages et Inconvénients de Java
Portabilité : Il existe des machines virtuelles Java pour de très nombreux
environnements : Windows, MacOS, Linux et autres.
Grand nombre d’API : représentées sous frome de packages
Exemples :
Développement des applets (java.applet)
Toolkit pour interfaces graphiques (java.awt)
Gérer les flux (java.io)
Classes de base du langage (java.lang)
Utiliser des opérations mathématiques (java.math)
Utiliser les fonctionnalités réseaux (java.net)
API JDBC pour l'accès aux bases de données (java.sql)
Utilitaires divers (java.util)
Avantages et Inconvénients de Java
Le système d’exploitation : un Système d’Exploitation virtuel, qui fonctionne au
dessus du système d'exploitation de la machine cible et le masque totalement aux
applications.

Forte communauté de développeurs.

Lenteur : le bytecode est le point faible de Java, car son interprétation est souvent
lourde. Mais le JIT : Just-In-Time a presque résolu ce problème.

Vous aimerez peut-être aussi