salut ,dans cette article on vas essayer de voir les point fort du langage Java
mais comme même on vas pas oublie l historique de Java (juste quelques lignes).
- 1991 naissance de Java par James Gosling chez Sun Microsystems
1993 Word Wide Web -WWW- a fait son apparition
- 1995 Réalisation du logiciel HotJava, navigateur Web écrit par Sun en Java
- Java s’est vu apporter quelques améliorations afin de s’adapter à la programmation Web
- Java s'est très rapidement taillé une place importante en particulier dans le domaine de l'internet et des applications client-serveur
1996 version 1.04 et 1.02
1998 version 1.1
1999 version 1.2, finalement rebaptisée Java 2
2000 version 1.4, toujours appelée Java 2
….
u Attention, Java est passé directement de la version 1.4 à la version 5.0
- En effet, l’ancienne numérotation des différentes versions (1.0, 1.1, 1.2,…) ne reflétaient pas les importantes modifications effectuées ; elles auraient plutôt dû s’appeler 1, 2, ...
Java est un langage orienté objet à classes (les objets sont décrits/regroupés dans des classes) inspiré de :
Smalltalk, Objective C dans sa structure
Ada (paquetage, exception…) dans sa sémantique
C/C++ dans sa syntaxe
Programme Java est constitué uniquement de classes
- Mais existence de types primitifs int , float, chat … qui ne sont pas des objets
outils de développement
ensemble de paquetages très riches et très variés
- Un code source ne peut être exécuté directement par un ordinateur
- Il faut traduire ce code source dans un langage que l’ordinateur (le processeur de l'ordinateur) peut comprendre (langage natif)
- En Java, le code source n’est pas traduit directement dans le langage de l’ordinateur
- Il est d’abord traduit dans un langage appelé "bytecode" , langage d’une machine virtuelle (JVM ; Java Virtual Machine) définie par Sun
- Ce langage est indépendant de l’ordinateur qui va exécuter le programme
- le même code compilé s’exécute sur plusieurs plates-formes "Write once, run everywhere"
Exécution du bytecodeLe bytecode doit être exécuté par une JVM
- Cette JVM n'existe pas ; elle est simulée par un programme qui :
*lit les instructions (en bytecode) du programme * les traduit dans le langage natif du processeur de l’ordinateur* lance leur exécution
Les JVM Les systèmes qui veulent pouvoir exécuter un programme Java doivent fournir une JVMTous les systèmes ont une JVM (Linux,Windows, MacOs,…) Il existe aussi quelques JVM en dur, sous forme de processeurs dont le langage natif est le bytecode ; elles sont rarement utiliséesuJava développe deux genres de programmes :- Les applications qui sont des logiciels classiques s'exécutant directement sur une plate-forme spécifique soit à travers une machine virtuelle java soit directement en code exécutable par le système d'exploitation
- les applets qui sont des programmes java insérés dans un document HTML s'exécutant à travers la machine virtuelle java du navigateur lisant le document HTML
multi-tâches (thread) Un thread -processus léger- est un flot de contrôle séquentiel indépendant au sein d’un processusLes threads s’exécutent à l’intérieur d’un programme Une application ou une applet peut avoir plusieurs thread Robuste Typage des données très strict Pas de pointeur uHaute performancew Discutable car java est un langage pseudo interprétéw Techniques de "Just in Time" (JIT) permettent de ne traduire qu'une seule fois en code natif les instructions qui sont exécutéssûr Des vérifications au chargement des classes et durant leur exécutionUn débordement de tableau déclenchera automatiquement une exceptionL’absence d’arithmétique de pointeur évite les malversations adapté à Internet chargement de classes en cours d’exécution (le plus souvent par le réseau : applet ou RMI)facilités pour distribuer les traitements par plusieurs machines (sockets, RMI, Corba, EJB)
Java est un bon langage n'est ce pas
merci a A.hair