Introduction : caractéristiques
Langage Interprété
Traduit et exécuté à chaque chargement
Développement plus simple
Temps d’exécution plus long
Fichier *.class
Indépendant du
processeur et de l!’OS
dépend de la définition
de la machine virtuelle
Fichier *.java
Indépendant du
processeur et de l!’OS
dépend de la définition
de la machine virtuelle
Pas de Fichier Executable
Dépendant du processeur et
de l!’OS
Dépend de la Réalisation de
la machine virtuelle
Indépendant de l'architecture : Portable
Conçu pour cela (machine virtuelle)
Ensemble complet d’exécution : machine à pile 32 bits
• Jeu d’instructions précis
• Des registres
• Une pile
• Interprète du byte_code : intermédiaire entre compilation et interprétation
• Seule, la JVM change entre MAC, PC, Windows, Unix….
Les types de base ont des tailles fixes
Multithread
Gestion de plusieurs tâches prévue
Réseau
Ensemble de classes pour utiliser des protocoles TCP/IP tels que HTTP et FTP
Gestion des langues
Deux types de programmation différents
Applications
Programmes écrits en Java
Exécuté sur une machine qui possède un interpréteur java. Ce programme pourra se lancer
indifféremment sous n'importe quelle machine/OS.
Applets
Introduction : caractéristiques
Introduction : Applets
Applets : intégration de java au www
Programmes écrits en Java, installés
généralement sur un serveur Web
L'applet est téléchargée depuis le
serveur Web sur le poste client
Exécutés sur le poste Client par la
JVM du navigateur à la demande
de celui-ci
Testés grâce à appletviewer
Serveur www
distant
Poste client
netscape, IE, ...
1 : demande
2
chargement
applet
(.class)
3 execution
Java versus C
JAVA est portable sans recompilation sur toutes les plates formes
(processeur/OS)
PC, Mac,
PDA, telephone, etc…
Même syntaxe, même structure de contrôle que C et C++
Principales différences
Pas de variables globales
Pas de préprocesseur #define, #include #ifdef
Pas de pointeurs
Le main est une fonction interne à une classe
C++ : Pas de surcharge des opérateurs
C++ : Pas d'héritage multiple
Nombreuses bibliothèques standard
Réseau,Système, thread
Graphisme, Interface utilisateur, Multimédia
E/S, chaînes et expressions régulières`
RMI : applications réparties sur plusieurs machines
Securité, cryptographie
Base de données, xml
8