Annexe B : Le langage java
B. Le Langage JAVA
1. PRESENTATION DU LANGAGE
Java est un langage orienté objet, simple et compact, très proche du C++,
mais avec une certaine simplification de quelques mécanismes ( comme la
gestion automatique de la mémoire et l’absence des pointeurs …).
Ses caractéristiques sont à l’origine de son sucée comme langage privilégie
sur le Web.
Simple, ne veut pas dire que c’est un langage aisé à maître en œuvre, mais
qu’il supprime quelques difficultés rencontrées en C++, comme sa
surcharge d’opérateurs, l’héritage multiple de la gestion de la mémoire .
Java est composé de 3 éléments :
- Un langage de programmation.
- Une machine virtuelle ( JVM ).
- Un ensemble de classes standard réparties dans
différentes API.
2. PRINCIPALES CARACTERISTIQUES DE JAVA
2.1. Java est orienté objet
Au–delà des concepts qu’il met en œuvre ( notions de classe,
d’instance, de méthode, d’héritage ), il permet de développer des
applications professionnelles robustes et maintenables.
2.2. Java est orienté réseau
Il permet d’accéder à des ressources distribuées, n’importe sur
l’Internet ou l’Intranet, via des URL, aussi aisément qu’un accès à des
fichiers locaux.
2.3. Java est portable
Il s’appuie sur un ensemble de bibliothèques ( le code est indépendant
de la plate –forme matérielle).
Du fait que le programme source est compilé en pseudo code, toute
machine possède à l’intérieur un interpréteur Java pourra l’interpréter.
De plus, l’implémentation physique des différents types de données est
indépendante de la machine d’accueil contrairement à C et C++.
Annexe B : Le langage java
2.4. Java est sûr
-Au niveau du langage
La gestion de la mémoire et l’absence des pointeurs assurent un certain
niveau de sécurité.
-Au niveau de l’environnement
Un gestionnaire de sécurité, qui teste la qualité et le format du pseudo-code,
est inclus dans le compilateur.
En fin, l’accès aux fichiers externes du client est sévèrement limité ( même
interdit par certains navigateur ), mais peut être explicitement étendu en
fonction de besoins ponctuels.
Le compilateur Java génère un byte code exécutable par la JVM. Grâce à
ce mécanisme un programme Java est exécutable dans n'importe quel
environnement disposant d'une JVM. Cela permet aussi de faire du
chargement dynamique de classes. Le chargement des classes est géré par
un classloader redéfinissable et permettant, par exemple, de
télécharger le byte code d'une classe par HTTP. Une fois la classe chargée
dans la JVM, il est possible de créer des instances ou de faire de
l'introspection.
Annexe B : Le langage java
3. LES API DE JAVA
Java est accompagné d'une librairie standard composée, actuellement, de
500 classes réparties en plus de 20API dont :
JDK API :
java.util : classes utilitaires (gestion des dates, tableaux
dynamiques, piles, ...)
java.io : manipulation des entrées/sorties sous forme de flux.
java.net : accès réseaux via les sockets TPC, les
datagrammes UDP, le multicast et les URL.
java.awt et javax.swing : classes permettant de
construire une interface graphique (reposant sur le système de
fenêtrage de la plateforme).
Java entreprise API
jdbc : accès homogène aux bases de données.
rmi : invocation de méthodes sur des objets distribués.
javaIDL : mapping Java pour CORBA.
jndi* : interface d'accès unifiés aux service d'annuaires.
jts : accès aux services transactionnel.
Java Beans API : architecture de composants logiciels
Java Security API : signature digitale, cryptage et authentification
Java Server API : classe pour le développement de serveurs extensibles
grâce au concept de Servlets
Java Commerce API* : classes pour le commerce électronique
Java Media API* : classes pour le multimédia (java Media Framework,
java 2D, java 3D, java Animation, java Telephony, java Speech, ...)
Java Management API : classes pour l'administration réseau
(*) En cours d'élaboration.
4. NOTIONS DE BASES
4.1. Les Objets de Java
Alors dans une programmation dite structurée, les données et
instructions sont dissociées au niveau du code(La partie données décrit
les structures de données et la partie procédures manipule ses données ).
La programmation objet s’acharne à les rassembler, données et
procédures sont en capsulées, C’est à dire regroupées dans une entité :
L’Objet.
4.2. Les classes java
Une classe est la description d’une famille d’objets ayant la même
structure et le même comportement. Elle regroupe un ensemble de
données et de procédures ou des méthodes.
Chaque classe possède deux types deux composants :
- La partie statique : les données qui sont des champs nommées
pouvant recevoir une valeur.
Annexe B : Le langage java
- La partie dynamique : les procédures ou les méthodes qui
représentent le comportement de l’objet.
4.3. La notion d’héritage
L’héritage donne à tout objet la possibilité d’utiliser les propriétés et les
méthodes appliquées à un objet dont il dérive. Un modèle qui hérite, peut
évidemment décrire en plus des variables et méthodes qui peuvent à leurs
tours être héritées d’ un autre modèle.
4.4. Le polymorphisme
Le polymorphisme est une technologie qui permet d’envoyer un même
message à des objets issus de classes différentes. Les objets acquièrent ainsi
la capacité de répondre à la requête suivant des règles de comportement
propre à leur classe.
4.5. L’encapsulation
Un programme contient deux composants indissociables : les données et le
code. En programmation structurée classique, le développeur découpe son
application en fonctions et utilise un nombre irréductible de variables et
constantes.
Il se concentre alors sur le développement de ces routines au détriment des
données. Souvent alors l’ajout de nouveau pointeurs n’est pas
automatiquement pris en compte par le code déjà existant. Face à ces
problèmes coûteux en maintenance, la programmation objet fourni une
solution avec le concept d’encapsulation : données et procédure sont
regroupées dans un élément : la classe.
4.6. Les applications
Une application java est un programme général écrit dans le langage java et
qui ne nécessite aucun navigateur ou une interaction obligatoire avec un
serveur Web pour son exécution.
Par exemple le programme SUN Hotjava est une application java.
L’application se rapproche de la notion habituelle de programme, hormis le
fait qu’elle est interprétée au fur et à mesure par l’interpréteur java.
Une application est un fichier local présent sur le client ( et non télécharger
de puis un serveur ).
L’application correspond à la définition d’une nouvelle classe, qui doit
posséder un point d’entrée : la méthode main().
On exécutera cette application à partir du système d’exploitation, en faisant
appel à l’interpréteur et en lui passant le nom du fichier .class en paramètre
d’entrée .
Annexe B : Le langage java
4.7. Les applets
L’applet java est une application particulière, stockée dans un serveur Web
et télécharger par le navigateur, puis exécutée et interprétée par le client.
L’applet est exécutée automatiquement, sans qu’il faille cliquer ou
déclencher un avènement particulier, dés le téléchargement de la page
HTML.
Les résultats ne sont pas envoyer à la sortie standard comme pour
l’application, mais à l’intérieur de la page d’appel, selon des méthode
d’affichage particulières.
Une applet est une classe Java compilée. Cette classe hérite d'une classe
mère (java.applet.Applet) qui lui donne une certaine interface
(init(), start(), paint(), stop()).
L'applet spécifie son comportement en redéfinissant les méthodes de cette
interface. Les applets sont véhiculées dans les pages HTML. Lorsqu'un
browser, compatible Java (i.e. : possèdant une JVM), reçoit une page HTML
contenant l'URL d'une applet, il télécharge (par HTTP) le code de cette
classe, crée une nouvelle instance, lui alloue une zone dans la page HTML
et enchaîne l'invocation des méthodes propre à l'applet (init(), start(), ...).
C'est alors une véritable application qui s'exécute dans la page HTML, qui
peut construire et gérer une interface graphique, créer de nouveaux threads,
ouvrir des connections réseau, etc. Néanmoins, pour des raisons évidentes
de sécurité, l'applet est soumise au Security Manager du browser qui peut
lui interdire (c'est le cas pour Netscape Navigator et Internet Explorer)
l'accès en lecture et en écriture au disque du client, les connections réseau
sur une autre machine que celle d'où elle provient, le lancement de
processus, le chargement d'une libraire partagée, etc.
Grâce aux applets on peut envisager de nouvelle perspective pour le Web en
diffusant :
- Des applets affichants des ressources, éventuellement
interactives, que ne savent pas gérer les browsers
(documents structurés, images 3D, animations, ….).
- Des applications traditionnelles (outils bureautiques,
applications pédagogiques , jeux )
- Des client d'applications distribuées(accès aux bases de données,
forum de discutions, jeux multi-joueurs, ...)
La transformation d'une application Java (possèdant une interface
graphique) en applet ne nécessite que quelques lignes de code en plus. Ceci
permet, pour un coût unique, de développer une application qui pourra être
exécutée localement ou bien diffusée sur le Web.
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !