You are on page 1of 7

MINISTERE DE LA FORET, DE LA MER DE

L’ENVIRONNEMENT CHARGE DU PLAN


CLIMAT

SECRETARIAT GENERAL

DIRECTION GENERALE DE L’ECOLE NATIONALE DES EAUX ET


FORETS
DEPARTEMENT DE GEOMATIQUE FORESTIERE

PARCOURS : DUT2

TTHEME : PRESENTATION DU LANGAGE


JAVAME

DIRIGE PAR : PRESENTATE PAR :


Ms LUCIUS BEDE LEMANDA LAPY PIERRE CLAVER
LEYAMA LOITA
IBOUANGA DIBOUENDZI JUNIOR
IBINGA THALLYNSE L T
IPOUTA CHRISTY AUDE JOHAN
PLAN

1. LES POINTS FORTS DE JAVA

1.1 LA SYMPLICITE DE JAVA


1.2 JAVA LANGAGE OBJET
1.3 JAVA LANGAGE PORTABLE

2.LES POINTS FAIBLES DE JAVA


2.1 CONSOMMATION DE MEMOIRE
2.2 PERFORMANCE
2.3 COURBE D’APPRENTISSAGE INITIALE

3.LA PLATE_FORME DE DEVELOPPEMENT JAVA

3.1 LE JDK
3.2 AUTRES OUTILS
INTRODUCTION

Java a été développé par Sun Soft pour réaliser le développement de systèmes embarqués. Java est
un langage qui s’inspire de la syntaxe de C++ et de la gestion dynamique de la mémoire de Small
Talk, deux langages orientés objets. On s’accorde à dire que java s’inspire à 70% de C++, et à 30% de
langage comme Small Talk, ADA et Objective C. Aujourd’hui, les évolutions de java sont gérées par
javasoft, dépendant de SunSolf, avec le partenariat de nombreuses entreprises
1. LES POINTS FORTS DE JAVA

1.1 Java est simple par rapport à C et C++, les sources de nombreux bugs ont été
supprimés
 Pas de pointeurs
 Pas de surcharge des opérateurs
 Pas d’héritage multiple
 Développement 30 à 35 % plus rapide
1.2 Java est un langage objet
 Synthase de C++, gestion dynamique de la mémoire de Small talk
 Langage objet pur contrairement à C++ qui permet une programmation de type C
 Compromis entre un langage objet d’arctique (C++) et dynamique (Small talk)
 Livrer avec des paquages de classes riches et varier (réseau, web, base des données, etc.) 
Java est robuste.
 Compilateur stricte en particulier car
• Contrôle de typage fort (perte de précision interdite)
• Vérification que les erreurs identifiées (appelés exception) sont traitées par le développeur
 La gestion de la mémoire n’est plus à la charge du développeur (gardage collector, pas de
pointeur)
 Un débordement d’index dans un tableau provoque une erreur (la mémoire n’est plus
écrasée)

1.3 Java est portable


 Un code source java est compilé pour générer un code assembleur virtuel : le byte code
 Le bite code est exécuté par un logiciel : la machine virtuelle. Seule la machine virtuelle
change d’une machine à l’autre. Un programme java est donc exécutable sur toute machine
pour laquelle une machine virtuelle existe.
 Le byte code est conçu pour :
• Etre rapidement interpréter par une machine virtuelle (java est en fait un langage
semi compilé et semi interprété)
• Etre optimisable au moment de son exécution (dépend de la plateforme d’exécution)
• Etre compact (en moyenne une instruction byte code = 1,8 octet, RISC = 4 octet)
• Etre vérifiable (système de vérification d’intégrité du code)
 La plupart des navigateurs web intègre une machine virtuelle java leur permettant de changer
les pâtîtes applications java avec les pages en majuscules HTML (les applets, parfois traduit
en Applicules) si la notoriété de java doit beaucoup aux applets, celle-ci ne contribue qu’une
petite partie des domaines d’utilisation possible de ce langage.
Pgm1.java

Compilation

Pgm1.class

Chargement

MV MV MV+JIT

Code binaire

Micro –
Micro –
Processeur Micro -
Processeur
De type 1 Processeur
De type 2

 Java est performant


 Des techniques récentes d’optimisation et de compilation à la volé du byte code, intégré à
certaines machines virtuelles font que ces performances approchent celle de langages
compilés.
 Java est sécurisé
 Le Compilateur interdit toute manipulation directe de la mémoire.
 Le Vérifier, utilisé lors du chargement du code vérifie que le byte code est intègre et bien
conforme aux règles de compilation (empêche les trucages du code) et que les méthodes
référencées sont disponibles.
 Le ClassLoader, responsable du changement des classes dans la machine virtuelle, vérifie que
la classe chargée n’écrase pas une autre classe dans l’environnement alloué à l’application
(appelé SandBox). Dans le cas d’applets chargée à partir de serveurs web(http), une SandBox
différente est alloué pour chaque serveurs web = Il est impossible à deux applets chargées à
partir de serveurs différents de communiquer entre elle (ce qui n’est pas le cas si elles sont
chargées à partir du même serveur).
2. LES POINTS FAIBLES

Ce sont les conséquences des points forts que nous venons d’énumérer en particulier :
 Le développeur n’a aucune visibilité sur ce qui se passe en mémoire.
 Java est encore actuellement moins performant qu’un bon langage compilé (C, C++)

2.1 CONSOMMATION DE MEMOIRE : JAVA nécessite l’utilisation de la machine virtuelle(JVM)


pour exécuter le code, ce qui peut entrainer une consommation de mémoire plus élevé par rapport à
d’autres langages qui s’exécutent directement sur le système d’exploitation

2.2 PERFORMANCE : bien que JAVA soit généralement considéré comme un langage performant, il
être moins efficace que certains autres langages de programmation les langages de bas niveau tels
que C++

2.3 COURBE D’APPRENTISSAGE INITIALE : Pour les débutants en programmation, JAVA peut avoir
une courbe d’apprentissage plus rapide en raison de la complexité de certaines classe et
bibliothèques.

3. LA PLATE-FORME DE DEVELOPPEMENT JAVA

3.1 Le JDK (Java Développement Kit) : est l’outil pour tout développeurs Java. Il est gratuit (il
peut être chargé sur le site Javasoft).

Ce kit contient tout le nécessaire pour développer l’application ou dès l’applets Java : le compilateur
(en ligne de commandes), une machine virtuelle, un ensemble complet de classe de base regrouper
en packages.

Le langage est toujours en évolution rapide : La version actuelle est à 1.1 (après à 1.02 et avant la
1.2).

Différents outils du commerce fournissent des interfaces graphiques permettant d’encapsuler le JDK.
Une partie des développements peut alors être réalisée de manière visuelle. Nous utiliserons en TP
un de ces outils : Jbuilder 2.0 de la société inprise (Borland).

Les classes de bases (livrées avec le JDK) concernent :

 L’interface homme/machine (AWT : Abstract Windows Toolkit) : fenêtre, boutons, listes, …


 Le Réseau : TCP/IP, Web, Applets, RMI (appels distants)
 Les entrées/sorties : accès direct, fichiers, …
 Des extensions du langage : conteneurs, dates, chaînes de caractères, …
 L’accès aux bases de données : JDBC
 La possibilité de créer de composants Java : Les Beans
 La gestion de la sécurité : cryptage, identification, signature
3.2 D’autres Packages livrés séparément concernent :

 Le multimédia (2D, 3D, Son, …)


 La téléphonie
 La manipulation de mail
 …

CONCLUSION

Java est un langage orienté Objet. Il est nécessaire de bien comprendre ce qu’implique cette notion
avant d’entreprendre l’étude de ce langage. C’est un langage de programmation robuste portable
sécurisé et populaire qui offre une grande flexibilité pour développer une variété d’application. Sa
syntaxe claire sa facilité d’utilisation et sa vaste communauté de développeur en font un choix de
prédilection pour de nombreux choix de développement logiciel. Que ce soit pour le développement
web, les applications de bureaux ou les applications mobiles, java reste un outil polyvalent et
puissant pour les développeurs du monde entier.

You might also like