< -->

samedi 26 février 2011

présentation du language java


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
u Attention, Java est passé directement de la version 1.4 à la version 5.0
u
  • 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
 
 Java est presque un pure langage O
  •  Programme Java est constitué uniquement de classes
  • Mais existence de types primitifs int , float, chat … qui ne sont pas des objets
u
fourni avec le JDK (Java Development Kit) :
  •  outils de développement
  •  ensemble de paquetages très riches et très variés
 
Compilation d’un code source
u
  • 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
 
Compilation en Java  -> bytecode
  • En Java, le code source n’est pas traduit directement dans le langage de l’ordinateur
    w
    • Il est d’abord traduit dans un langage appelé "bytecode" , langage d’une machine virtuelle (JVM ; Java Virtual Machine) définie par Sun
    w
    • Ce langage est indépendant de l’ordinateur qui va exécuter le programme
    w
    • le même code compilé s’exécute sur plusieurs plates-formes "Write once, run everywhere"

    Exécution du bytecode
     
    • Le 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
    u
    Les systèmes qui veulent pouvoir exécuter un programme Java doivent fournir une JVM
     
    Tous 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ées
     
    uJava développe deux genres de programmes :
    u
    •  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 processus
    Les threads s’exécutent à l’intérieur d’un programme
    Une application ou une applet peut avoir plusieurs thread
    w
    Robuste
    Typage des données très strict
    Pas de pointeur
    u 
     Haute performance
    w 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és
  • sûr
    Des vérifications au chargement des classes et durant leur exécution
    Un débordement de tableau déclenchera automatiquement une exception
    L’absence d’arithmétique de pointeur évite les malversations
    w
    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

Advertiser