Vous êtes sur la page 1sur 3

2ISA POO 0-Generalites_sur_le_langage_J ava.

doc
le 01/11/2005 5:21 Page 1 sur 3

Gnralits sur le langage Java

Les caractristiques du langage ................................................................................................................. 1
Rapide historique ...................................................................................................................................... 2
Compilation et Excution ......................................................................................................................... 2
Environnement de Dveloppement Intgr ............................................................................................... 3
Diffrences J ava et J avascript ................................................................................................................... 3

Les caractri sti ques du langage


J ava est un langage de programmation volu, orient objet dont la syntaxe est proche du C++.
Il existe plusieurs types de programmes en J ava :
Les applications : une application autonome est une application qui s'excute sous le contrle
direct du systme d'exploitation, les applications ont un bloc main().
Les applets : Une applet est une application embarque dans une page HTML, charge par un
navigateur et excute sous le contrle de celui-ci.
Les servlets ou les JSP sont des applications java s'excutant du cot serveur web, ces
technologies permettent d'crire des pages web dynamiques.

J ava est interprt
Le source est compil en pseudo-code ou byte-code puis excut par un
interprteur J AVA : la Java Virtual Machine (J VM).
Ce concept est la base du slogan de Sun pour J ava : Write Once, Run
AnyWhere.
En effet, le byte code peut tre excut et donner les mmes rsultats sur
toutes les machines dotes d'une J VM.
J ava est indpendant de
toute plate-forme
Il n'y a pas de compilation spcifique pour chaque plate-forme.
Le code est indpendant de la plate-forme sur laquelle il s'excute.
Le code peut s'excuter sur toute machine disposant d'une machine virtuelle.
J ava est Orient Objet
Chaque fichier source contient la dfinition d'une ou plusieurs classes qui sont
utilises ensemble pour former une application.
J ava n'est pas orient objet "pur" car il contient des types primitifs qui ne sont
pas des objets (entier, boolen, flottant, caractre).
Java implmente les concepts objets d'encapsulation, d'hritage, de
polymorphisme.
J ava est fortement typ
Toutes les variables sont types. Il n'existe pas de conversion automatique qui
pourrait engendrer une perte de donnes.
Les conversions sont la charge du dveloppeur (casting).
J ava est "simple"
J ava n'utilise pas des notions complexes telles que les pointeurs (comme en
C++).
J ava ne permet pas l'hritage multiple.
J ava assure la gestion
de la mmoire
J ava alloue automatiquement de la mmoire aux objets crs et rcupre la
mmoire inutilise grce au garbage collector (ramasse-miettes) qui restitue
les zones de mmoire laisses libre suite la destruction des objets.
J ava est sur
La scurit fait partie intgrante du systme d'exploitation et du compilateur.
Les applets ne peuvent pas ouvrir, lire, crire ou effacer des fichiers sur la
machine de l'utilisateur.
J ava est conome
Le byte code a une taille relativement petite car les bibliothques de classes ne
sont lies qu' l'excution.
J ava est multitche J ava permet l'utilisation de threads qui sont des units d'excution isoles.
2ISA POO 0-Generalites_sur_le_langage_J ava.doc
le 01/11/2005 5:21 Page 2 sur 3
Rapi de histori que


J ava est une marque dpose de Sun MicroSystems.
Sun fournit gratuitement un ensemble d'outils et d'API pour dvelopper en J ava : le J SDK (J ava2
Software Developement Kit).

Principales versions :
1996 J DK 1.0
1998 J DK 1.2 (dite J ava 2)
2000 J DK 1.3
2002 J DK 1.4 (135 packages/3000 classes)
2004 J DK 1.5 (dite J ava 5)

Sun propose 3 ditions:
J 2SE : J ava2 Standard Edition comprenant les bibliothques de bases pour dvelopper des
applications destines un poste client.
J 2EE : J ava2 Entreprise Edition destine aux dveloppements des applications d'entreprises
(serveurs).
J 2ME : J ava2 Micro Edition destine aux systmes mobiles.


Compi lation et Excution


N'importe quel diteur de source peut tre utilis pour coder en J ava
Le code source doit tre compil en byte code qui sera ensuite excut ou interprt par la machine
virtuelle.









Le code est indpendant du systme d'exploitation sur laquelle
il s'excute.

Le code peut s'excuter sur toute machine disposant d'une
machine virtuelle.








2ISA POO 0-Generalites_sur_le_langage_J ava.doc
le 01/11/2005 5:21 Page 3 sur 3

Envi ronnement de Dvel oppement Intgr
Pour avoir plus de confort, il est prfrable d'utiliser un Environnement de Dveloppement Intgr
(EDI/IDE) tel que Eclipse, J Builder (Borland), NetBeans (Sun), J Developer (Oracle)

Eclipse est EDI open-source, extensible, polyvalent permettant potentiellement de dvelopper des projets
mettant en uvre n'importe quel langage de programmation. Le projet Eclipse a t lanc par IBM. La
premire version d'Eclipse a t diffuse en 2001. Le dveloppement d'Eclipse est dsormais entirement
gr par eclipse.org (organisation but non lucratif). D'aprs eclipse.org, Eclipse est une plateforme pour
"toutes sortes de choses et rien en particulier". Son architecture est dveloppe autour de la notion de
plug-in. Parmi les langages supports par Eclipse : C, C++, PHP, J avascript, HTML, XML, Pascal, SQL
. Le fait qu'on puisse se servir d'Eclipse pour dvelopper en Java, n'est qu'une utilisation particulire. A
noter, Eclipse est crit en J ava


Di ffrences Java et Javascri pt


Il ne faut pas confondre les langages J ava et J avaScript. La syntaxe des 2 langages est proche car
elles drivent toutes les 2 du C++. Ces 2 langages peuvent cohabiter dans des pages Web. Le
tableau suivant permettra de s'y retrouver :


Java JavaScript
Auteur Sun MicroSystems Netscape Communications
Compilation Compil sous forme de byte-code Interprt
Stockage Applet tlcharge comme lment d'une
page
Source insr dans la page Web
Utilisation Permet de dvelopper tous types
d'applications
Rend les pages Web plus "dynamiques"
Excution Excut par la J VM du navigateur Excut par le navigateur
POO Orient Objet Utilise des objets mais ne permet pas d'en
crer
Typage Fortement typ Pas de contrle de type
Complexit Code relativement complexe Code simple