Vous êtes sur la page 1sur 7

Institut Suprieure Aux Etudes Technologiques De Nabeul

Dpartement Informatique

Support de

Programmation Java

Prpar par

Mlle Imene Sghaier

2006-2007
Mlle Imene Sghaier ISETN

Chapitre 1

Introduction au langage de programmation Java

1. Prsentation de Java
Java est un environnement de programmation oriente objets adapt la distribution
dapplications sur Internet et sintgrant au Web.
Vers la fin de 1995, le langage de programmation Java (Dvelopp par Sun Microsystems) surgit
sur la grande scne d'Internet et obtient immdiatement un norme succs. Il s'agit d'un langage
de conception trs performant qui a t adopt par la majorit des fournisseurs. Ses
caractristiques intgres de scurit offrent un sentiment de confiance aux programmeurs
comme aux utilisateurs des applications. De plus, Java incorpore des fonctionnalits qui facilitent
grandement certaines tches de programmation avances comme la gestion des rseaux, la
connectivit des bases de donnes ou le dveloppement d'applications multitches.
Il se compose de 4 lments :
- un langage de programmation
- une machine virtuelle (JVM)
- un ensemble de classes standards rparties dans diffrentes API
- un ensemble doutils (jdb, javadoc, ...)

2. Interprtation dun programme Java


Tout dabord, Java simplifie le processus de dveloppement; quelle que soit la machine sur
laquelle le codage est ralis, le compilateur fournit le mme code. Ensuite, quel que soit le
systme utilis par les utilisateurs, cet unique code est directement oprationnel.

Support de langage Java 2006-2007


Mlle Imene Sghaier ISETN

En effet, la compilation dune source Java produit du pseudo-code Java qui sera excut par
tout interprteur Java sans aucune modification ou recompilation. Cet "interprteur" est la
"machine virtuelle Java". De plus en plus, cette machine virtuelle utilise un compilateur JIT
(Just In Time) qui transforme, au moment de lexcution, le pseudo-code en code natif (code
machine pour un type d'ordinateur prcis) afin dobtenir la vitesse dexcution maximale.
Le langage Java peut tre utilis pour crer des modules de code rfrencs au sein dune page
html et excuts par un navigateur compatible Java (ou un simple interprteur Java), on parle
alors dApplets. Ces modules de code ont rendu Java populaire car ils permettent un crateur de
site denrichir le contenu de son site de modules dynamiques et/ou interactifs qui tourneront
lidentique quelque soit la machine et le systme utilis par le visiteur de ce site. Java permet
galement de crer des applications autonomes qui peuvent se substituer des applications
dvelopps en langage compil. Pour ces applications lAPI Java apporte un ensemble trs riche
de classes rpondant de nombreux besoins et pouvant tre tendue; cette unique API simplifie
la cration et le dploiement des applications, en effet cette application sexcutera sur tout
systme en utilisant laspect visuel de ce systme.

2.1. Les avantages de Java


Les avantages de ce langage se rsument comme suit :
Sa bibliothque d'excution est indpendante de la plateforme : en thorie, il est
possible d'utiliser le mme code pour Windows 95/98/NT, Solaris, UNIX, Macintosh, etc.
Cette proprit est indispensable pour une programmation sur Internet ;
La syntaxe de Java est analogue celle de C++, ce qui le rend conomique et
professionnel ;

Support de langage Java 2006-2007


Mlle Imene Sghaier ISETN

Il est beaucoup plus facile d'obtenir du code sans erreur l'aide de java qu'avec C++ car
dans Java sont ajoutes des fonctions destines liminer la possibilit de crer du code
contenant les types d'erreurs les plus courants :
o Les concepteurs de java ont supprim l'allocation et la libration manuelles de
mmoire. La mmoire dans java est alloue et libre automatiquement ;
o Ils ont limin l'arithmtique des pointeurs introduisant du mme coup une vraie
gestion de tableau. La notion de rfrence sur une zone mmoire remplace
avantageusement celle de "pointeur", car elle supprime la possibilit d'craser
toute zone mmoire cause d'un compteur erron ;
o Ils ont limin toute possibilit de confusion entre une affectation et un test
d'galit dans une instruction conditionnelle ;
o Ils ont supprim l'hritage multiple en le remplaant par une nouvelle notion d'interface
drive d'Objective C. Les interfaces offrent tout ce qui est obtenu partir de l'hritage
multiple, sans la complexit de la gestion de hirarchie d'hritage multiple.

2.2. Caractristiques de Java


Les caractristiques fondamentales de Java se rsument selon les 13 termes suivants :
9 Simple : Java a t conu de faon relativement proche du langage C++. De nombreuses
fonctions compliques, mal comprises, rarement utilises de C++ (pointeur, surcharge
dynamique, hritage multiple,), qui semblent apporter plus d'inconvnients que d'avantages,
ont t supprimes de Java.
9 Fiable : Java a t conu pour que les programmes qui l'utilisent soient fiables sous diffrents
aspects. Sa conception encourage le programmeur traquer prventivement les ventuels
problmes, lancer des vrifications dynamiques en cours d'excution et liminer les
situations gnratrices d'erreurs... La seule et unique grosse diffrence entre C++ et Java
rside dans le fait que ce dernier intgre un modle de pointeur qui carte les risques
d'crasement de la mmoire et d'endommagement des donnes.
9 Orient objet : Java se concentre sur les objets et sur les interfaces avec ces objets. Java offre
de nombreuses classes permettant de dfinir et de manipuler les objets.
9 Distribu : Java possde une importante bibliothque de routines permettant de grer les
protocoles TCP/IP tels que HTTP et FTP. Les applications Java peuvent charger et accder

Support de langage Java 2006-2007


Mlle Imene Sghaier ISETN

des pages sur Internet via des URL avec la mme facilit qu'elles accdent un fichier local
sur le systme.
Les fonctionnalits rseau de Java sont la fois fiables et d'utilisation aise. Java est simple
dutilisation lorsqu'il s'agit de mettre en oeuvre des tches lourdes, comme l'ouverture d'une
connexion avec un socket. De plus, Java rend plus facile l'laboration des scripts CGI (Common
Gateway Interface), et un mcanisme lgant, nomm servlet, augmente considrablement
l'efficacit du traitement ct serveur, assur par Java. De nombreux serveurs Web, parmi les
plus courants, supportent les servlets. Le mcanisme d'invocation de mthode distance (RMI)
autorise la communication entre objets distribus.
9 Scurit : Java a t conu pour tre exploit dans des environnements serveur et
distribus. Dans ce but, la scurit na pas t nglige. Java permet la construction de
systmes inaltrables et sans virus.
9 Sr : La scurit fait partie intgrante du systme d'excution et du compilateur. Un
programme Java plant ne menace pas le systme d'exploitation. Il ne peut y avoir d'accs
direct la mmoire. L'accs au disque dur est rglement dans une applet. Les
programmes fonctionnant sur le Web sont soumis aux restrictions suivantes dans la
version 1.0 de Java :
o Aucun programme ne peut ouvrir, lire, crire ou effacer un fichier sur le systme
de l'utilisateur ;
o Aucun programme ne peut lancer un autre programme sur le systme de
l'utilisateur ;
o Toute fentre cre par le programme est clairement identifie comme fentre Java,
ce qui interdit par exemple la cration d'une fausse fentre demandant un mot de
passe ;
o Les programmes ne peuvent pas se connecter d'autres sites Web que celui dont
ils proviennent.
9 Architecture neutre : Le compilateur gnre un format de fichier objet dont
larchitecture est neutre. Le code compil est excutable sur de nombreux processeurs,
partir du moment o le systme dexcution de Java est prsent. Pour ce faire, le
compilateur Java gnre des instructions en bytecode qui nont de lien avec aucune

Support de langage Java 2006-2007


Mlle Imene Sghaier ISETN

architecture particulire. Au contraire, ces instructions ont t conues pour tre la fois
faciles interprter et faciles traduire en code natif.
9 Portable : A la diffrence du C/C++, on ne trouve pas les aspects de dpendance de la
mise en uvre dans la spcification. Les tailles des types de donnes primaires sont
spcifies, ainsi que le comportement arithmtique qui leur est applicable.
9 Interprt : Le source est compil en pseudo code puis excut par un interprteur Java
(la Machine Virtuelle Java (JVM)).
9 Indpendant de toute plateforme : Linterprteur Java peut excuter les bytecode
directement sur nimporte quelle machine sur laquelle il a t port. Il n'y a pas de
compilation spcifique pour chaque plate forme. Le code reste indpendant de la machine
sur laquelle il s'excute. Il est possible d'excuter des programmes Java sur tous les
environnements qui possdent une JVM. Cette indpendance est assure au niveau du
code source grce Unicode et au niveau du bytecode.
9 Performances leves : En gnral, les performances des bytecodes interprts sont tout
fait suffisantes, il existe toutefois des situations dans lesquelles des performances plus
leves sont ncessaires. Les bytecodes peuvent tre traduits la vole en code machine
pour lunit centrale destine accueillir lapplication.
9 Multithread : Il permet l'utilisation de threads qui sont des units d'excution isoles. La
JVM elle-mme utilise plusieurs threads. Ce qui permet des traitements multitches dans
une mme application. Les avantages du multithread sont une meilleure inter-ractivit et
un meilleur comportement en temps rel.
9 Dynamique : Java a t conu pour sadapter un environnement qui volue, et pousse le
concept orient objet son optimum en permettant ldition des liens entre modules
objets dynamiquement au moment de lexcution, en particulier dans le cas ou une
application sappuie sur une librairie de classes (une librairie de composants logiciels).
Mme si cette librairie de classes volue, il nest pas ncessaire de modifier ou de
recompiler lapplication qui y fait appel. Ces nouvelles versions de modules seront prises
en compte sans problmes ds le moment ou elles auront t installes.

3. Les Types de programmes Java


Les programmes peuvent tre des applications ou des applets :

Support de langage Java 2006-2007


Mlle Imene Sghaier ISETN

9 Une application est un programme excut localement comme le cas dun programme
C++.
9 Une applet est une application excute par lintermdiaire dun navigateur Web qui
dfinit automatiquement un cadre de travail. Les dfinitions de ce cadre sont dfinies par
le code HTML accompagnant lapplet.
Les diffrences entre une applet et une application sont :
Les applets n'ont pas de bloc main() : la mthode main() est appele par la machine virtuelle pour
excuter une application.
Les applets ne peuvent pas tre testes avec l'interprteur mais doivent tre intgres une page
HTML, elle mme visualise avec un navigateur sachant grer les applets Java, ou testes avec
l'applet viewer.

4. Les techniques de base de la programmation en Java


- N'importe quel diteur de texte peut tre utilis pour diter un fichier source Java ;
- Il est ncessaire de compiler le source pour le transformer en J-code ou byte-code Java qui sera
lui excut par la machine virtuelle ;
- Il est prfrable de dfinir une classe par fichier. Le nom de la classe publique et le fichier qui la
contient doivent tre identiques (il faut respecter la casse) ;
- Pour tre compil, le programme doit tre enregistr au format de caractres Unicode : une
conversion automatique est faite par le JDK si ncessaire.

Support de langage Java 2006-2007

Vous aimerez peut-être aussi