Cours java

Disponible uniquement sur Etudier
  • Pages : 8 (1992 mots )
  • Téléchargement(s) : 0
  • Publié le : 27 mars 2011
Lire le document complet
Aperçu du document
Cours de base d’Ing´ni´rie des applications objet. e e G´n´ralit´s sur le langage Java - Mod`le d’ex´cution - Syntaxe e e e e e
Support de Cours Christophe Dony Universit´ Montpellier-II e

1
1.1

Le langage Java
Langage de programmation par objets

Langage de programmation Orient´ Objet (types abstraits, surcharge, polymorphisme d’inclusion, e liaison dynamique) Synth`se de Smalltalk(pas de variables de type pointeur, allocation dynamique, recup´ration dye e namique, machine virtuelle) et de C++ (Syntaxe, constructeurs, ...). C’est un C++ adapt´ pour plus e de simplicit´ d’utilisation. e

1.2

Bibliotheques

La machine virtuelle (l’interpr´teur) est livr´ avec un ensemble de biblioth`ques regroup´es logiquee e e e ment en API. API (Application Programming Interface) :l’interface ` une biblioth`que sp´cialis´e dans un certain a e e e domaine d’application. Ex API JDBC (Java Database Connectivity). L’implantation d’une API regroupe un o` plusieurs packages (cf. Chapˆ u ıtre 3). dans lesquels sont d´finis un ensemble classes et de m´thodes. e e Ex de packages: - java.lang regroupe les classes de base necessaire ` la d´finition de tout programme Java (Object, a eException, String, Thread). - java.math ... - java.net : classes pour la r´alisation d’applications r´seau. e e - java.util : Classes utilitaires pour la r´alisation d’applications classiques (structures de donn´es e e (Vecteur, Dictionnaire ...), Date, Time, Calendar, Ev`nements, ... e - java.io : Entr´es-Sorties, Serialisation, ... e

1.3

Principe d’ex´cution : Machine virtuelle - Portabilit´ -Mobilit´ e e e

Le code compil´ n’est pas du code directement ex´cutable mais un ensemble d’instruction interpr´tables e e e par la machine virtuelle Java. Java peut ˆtre ex´cut´ sous quasi tous les unix, sous windows, sous e e e macOS, ou dans des syst`mes embarqu´s poss´dant une puce javaOS. e e e Definition : Machine virtuelle : machine logicielle d´finie par un ensemble d’instruction et unemani`re e e d’interpr´ter chaque instruction. e Principe d’ex´cution: e 1. compilation des instruction en byteCodes ou instructions de la machine virtuelle Java. 2. interpr´tation de ces instructions par un interpr´teur e e 3. un interpr´teur plus l’API d´finissant les classes de base du syst`me constituent une plate-forme e e e d’ex´cution Java (JRE : Java runtime environment). e D´finition :Interpr´teur Un Interpr´teur d’un langage est un programme capable de lire les instruce e e tions du langage, de les interpr´ter i.e. de mettre en oeuvre les calculs sp´cifi´s par ces instructions et e e e de faire connaitre, lorsque n´cessaire les r´sultats fournis par ces calculs. e e 1

Java est relativement peu gourmand en m´moire. On peut int´grer une machine virtuelle java dans e e des applicationsembarqu´es (un oscilloscope, une montre) ou dans des logiciels (netscape). e Mobilit´ : Les programmes Java peuvent voyager (applets). e Le code est test´ plusieurs fois avant d’ˆtre ex´cut´. e e e e V´rificateur de Byte-Code : teste le format des fragments de code et applique un algorithme qui e d´termine leur l´galit´ (pas de modification des pointeurs, pas de violation des droits d’acc`s aux e ee e objets). Class Loader (chargeur de classes). Les classes peuvent ˆtre locales (li´es ` la machine virtuelle en e e a cours d’utilisation) ou charg´es via le r´seau (Applets). Le chargeur s´pare les espaces-noms des deux e e e types de classes (aucune classe import´e ne peut se faire passer pour une classe locale, ... en principe). e

2
2.1

Syntaxe et El´ments de base du langage eAnatomie des programmes

Un programme est un ensemble de classes dont le texte est d´fini dans des fichiers (une seule classe e publique par fichier). Chaque classe est d´finie dans une unit´ de visibilit´ nomm´e package. e e e e Contenu (extrait) du fichier Point.java package picture; import java.lang.Math; public class Point { private int x; private int y; public int gety() {return y;} public Point...
tracking img