Support de cours Java - Laboratoire des signaux et systèmes

Support de cours Java
Structures de données
Notions en Génie Logiciel
et Programmation Orientée Objet
H. Mounier
Université Paris Sud
1
Table des matières
Table des matières i
I Threads 1
I.1 Modèle de threads de Java ..................... 1
I.2 Création et utilitaires ........................ 3
I.3 Synchronisation ........................... 7
I.4 Groupes de threads ......................... 15
I.5 États d’une thread et ordonnancement .............. 20
II Génie logiciel appliqué 25
II.1 Implantation d’une pile en Java .................. 25
II.2 Minimisation de couplage entre méthodes ............. 32
II.3 Maximisation de cohésion des méthodes ............. 39
III Programmation orientée objet en Java 49
III.1 Exemple 1 : balles .......................... 49
III.2 Exemple 2 : Flipper ......................... 56
III.3 Formes d’héritage .......................... 63
III.4 Exemple 3 : jeu de solitaire .................... 71
IV Boîtes à outils awt et Swing 85
IV.1 Aperçu des classes ......................... 85
IV.2 Gestion des événements ...................... 90
IV.3 Gestionnaire de disposition ..................... 93
IV.4 Composants d’interface utilisateur spécifiquement Awt ..... 95
IV.5 Un exemple ............................. 103
IV.6 Boîtes de dialogue .......................... 106
IV.7 Menus ................................ 108
V Classe Url 111
V.1 Classe URL .............................. 111
i
ii Support de cours Java
VI Paquetage java.net : Sockets 115
VI.1 Sockets : Rappels TCP/IP ..................... 115
VI.2 Sockets : Clients ........................... 116
VI.3 Sockets serveurs ........................... 125
VI.4 Serveurs itératifs .......................... 128
VI.5 Serveurs non bloquants ....................... 130
VI.6 Serveurs concurrents ........................ 132
VII Invotaion de méthodes distantes : RMI 135
VII.1 Notion d’invocation de méthode distante ............. 135
VII.2 Sécurité – Sérialisation ....................... 136
VII.3 Brève description du fonctionnement des RMI .......... 138
VII.4 Implantation ............................ 140
VII.5 Paquetage java.rmi ......................... 144
VII.6 Paquetage java.rmi.registry .................... 148
VII.7 Paquetage java.rmi.server ..................... 149
Bibliographie 151
I – Threads
Références bibliographiques
The Java Language Specification, J. Gosling, B. Joy et G. Steele [GJS96],
Java Threads, S. Oaks et J. Wong [OW97],
Concurrent Programming in Java. Design Principles and Patterns, D. Lea
[Lea97].
I.1 Modèle de threads de Java
1.1 Threads et processus
Le multi-tâches de threads occasionne bien moins de surcharge que le multi-
tâches de processus
Processus :
Un ensemble de ressources ; par ex. sous UNIX, segment de code, de don-
nées utilisateur, de données systèmes (répertoire de travail, descripteurs
de fichiers, identificateurs de l’utilisateur ayant lancé le processus, du
groupe dont il fait partie, infos. sur l’emplacment des données en mé-
moire, . . . )
Une unité d’exécution (avec, par ex. sous UNIX, des informations néces-
saires à l’ordonnanceur, la valeur des registres, le compteur d’instructions,
la pile d’exécution, des informations relatives aux signaux)
Thread : on ne retient que l’aspect d’unité d’exécution.
Contrairement aux processus, les threads sont légères :
elles partagent le même espace d’adressage,
elles existent au sein du même processus (lourd),
la communication inter-thread occasionne peu de surcharge,
le passage contextuel (context switching) d’une thread à une autre est
peu coûteux.
1
1 / 156 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 !