![Page 1: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/1.jpg)
1
Part3 3
![Page 2: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/2.jpg)
2
Exception
• Générée par un problème de programme
• Objet définissant une erreur
• Peut être saisie et traitée par un programme
• Une erreur: situation non remédiable
![Page 3: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/3.jpg)
3
Gestion des exceptions
• Classes importantes
• Méthodes importantes
• Instructions try-catch
• Exemple de messages
![Page 4: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/4.jpg)
4
Gestion des exceptions
• Propagation d’exception
• Instruction throw
• Clause finally
• Exemples
![Page 5: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/5.jpg)
5
Classes importantes
• Las classe Throwable
• La classe Exception
• La classe Error
• La classe IOException
• La classe RuntimeException
![Page 6: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/6.jpg)
6
Classes importantes
Throwable
Error Exception
IOException RuntimeException
![Page 7: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/7.jpg)
7
java.lang.Thowable
• Le parent de toutes les classes exception et erreur
• Throwable (String message)
![Page 8: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/8.jpg)
8
java.lang.Throwable
• fillInStackTrace(): méthode native
• printStackTrace(): méthode native
• getMessage(): retourne le message d’erreur
![Page 9: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/9.jpg)
9
java.lang.Error
• Des problèmes sérieux
• L’application ne doit pas intercepter
• Error (String message)
![Page 10: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/10.jpg)
10
java.lang.Exception
• Toutes les erreurs qu’on pourrait traiter
• Exception (String message)
![Page 11: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/11.jpg)
11
java.lang.IOException
• Des problèmes de E/S
• IOException(): appel au constructeur de Exception
![Page 12: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/12.jpg)
12
java.lang.RuntimeException
• Les erreurs de la virtual machine
• RuntimeException(): appel à Exception
![Page 13: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/13.jpg)
13
try/catch
• Bloc try: il doit surmonter une exception• Bloc catch: Comment traiter l’exception• try {
instructions } catch (exception-class1 var1) {
instructions}catch
![Page 14: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/14.jpg)
14
try/catch
• Si aucune exception: bloc try à exécuter
• Chaque catch gère une exception particulière
• Exemple:
![Page 15: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/15.jpg)
15
Propagation d’exception
• Exception: contrôle passé à la méthode appelante
• Propagation de contrôle
• Exemple:
![Page 16: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/16.jpg)
16
Instruction throw
• throw exception-variable;
• Créée et saisie par le programmeur
• Exemple:
![Page 17: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/17.jpg)
17
Clause finally
• Clause optionnelle• Une partie à exécuter peu importe la sortie du try• try {instructions } catch (exception-class1 var1) {instructions
}catch………} finally { instructions}
![Page 18: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/18.jpg)
18
Classes importantes
• La classe ClassCastException• La classe SecurityException• La classe EOFException• La classe FileNotFoundException• La classe SocketException
![Page 19: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/19.jpg)
19
InputStream
FileInputStream
PipedInput Stream
FilterInputStream
SequenceInputStream
StringBufferInputStream
ObjectInputSt ream
CheckedInputStream
DigestInputStream
InflaterInputStream
LineNumberInputStream
PushbackInputSteam
DataInputSt ream
GZIPInputStream
ZipInputStream
JarInputStream
RandomAccessFile
OutputS treamObjectOutput
ByteArr ayOutputStream
FileOutputStream
FilterOutputS tream
PipedO utputStream
ObjectOutputStream
CheckedOutputStream
DigestOutputS tream
DeflaterO utputStream
PrintStream DataOutput
GZIPOutputS tream
ZipO utputStream
BufferedOutputStream
BufferedInputStream
ByteArrayInputStream
Object Input
DataInput
DataOutput
JarO utputStream extends
implements
Zoo
![Page 20: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/20.jpg)
20
W riter
C harA rrayW riter
F ilterWriter O utputS treamW riter
P ipedW riter PrintW riter S tringWriter
R eader
C harA rrayR eader
FilterReader InputStreamR eader
P ipedR eader StringReader
PushbackR eader
FileR eader
FileW riter
B ufferedW riter
B ufferedR eader
LineN um berR eader
Zoo
![Page 21: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/21.jpg)
21
Gestion de fichiers
• Classes abstraites• Bytes stream• Filtering streams• Character streams• Object stream (Sérialization)• Fichiers et filtres de noms de fichiers
![Page 22: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/22.jpg)
22
java.io.InputStream
• Lire des entrées
• Méthodes:
read(byte b [ ], int off, int len):
Lire un buffer et le placer dans le tableau
![Page 23: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/23.jpg)
23
java.io.OutputStream
• Effectuer des opérations de sortie
• Classe abstraite
• Méthodes:
close (): fermer output stream, libérer ressources
write(byte b [ ]): écrire dans le output stream
![Page 24: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/24.jpg)
24
IOException
• Saisir les exceptions d’écriture de fichiers
• Une entrée/sortie s’est mal déroulée
• getMessage(): pour afficher un message
![Page 25: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/25.jpg)
25
java.io.BufferedReader
• Mettre dans un buffer une entrée
• Constantes:
defaultCharBufferSize = 8192;// taille par défaut
defaultExpectedLineLength = 80;// taille ligne
![Page 26: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/26.jpg)
26
java.io.BufferedReader
• Méthodes:
BufferedReader(Reader in): créer nouveau buffer
fill(): remplir le buffer
readLine(): lire une ligne de texte
close(): fermer le stream
![Page 27: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/27.jpg)
27
java.io.InputStreamReader
• Transformer des octets en chaînes de caractères• Constantes:
defaultByteBufferSize = 8192;// taille par défaut• Méthodes:
InputStreamReader(InputStream in) // par défaut
convertInto(char cbuf[ ], int off, int end) // conversion
![Page 28: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/28.jpg)
28
Les flux d’octets
• Sous classes de InputStream ou OutputStream
• File Input Stream
• File Output Stream
• Accès directe
![Page 29: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/29.jpg)
29
java.io.File
• Création de nouveau fichiers• Variables:
private String path; // chemin d ’accès
static private FileSystem fs // le SGF local
![Page 30: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/30.jpg)
30
java.io.File
• Méthodes:
public File(String pathname) // nouveau fichier
public boolean canWrite() // écriture
public String getAbsolutePath() // chemin
public String getName() // nom du fichier
![Page 31: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/31.jpg)
31
La classe File
• Pour copier, renommer des fichiers
• renameTo (File)
• delete ()
• mkdir ()
![Page 32: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/32.jpg)
32
FileInputStream
• Constructeur: FileInputStream(String nomFic)• Pour lire méthode read () (bit par bit)• read (byte [ ], int, int)• close (): fermer le stream• Exception: java.io.FileNotFoundException
![Page 33: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/33.jpg)
33
FileOutputStream
• Constructeur: FileOutputStream (String nomFic)• Constructeur: FileOutputStream (Sting, boolean)• Pour écrire: write (int)• Pour écrire plusieurs octets: write (byte [ ], int, int)• Pour fermer le stream: close ()
![Page 34: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/34.jpg)
34
Accès direct
• Ecrire ou lire de n’importe quel emplacement
• Classe: RandomAccessFile
![Page 35: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/35.jpg)
35
java.io.RandomAccessFile
• RandomAccessFile (String nameFic, String mode)
• getFilePointer(): position courante pointeur fichier
• seek (long pos): fixe la position du pointeur pos
• length (): renvoie la longueur du fichier en octets
![Page 36: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/36.jpg)
36
Les flux de filtre
• Modification de l’information envoyée
• Buffered streams
• Data streams
![Page 37: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/37.jpg)
37
Les flux bufférisés
• BufferedInputStreams
• BufferedOutputStream
![Page 38: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/38.jpg)
38
java.io.BufferedInputStream
• BufferedInputStream (InputStream)• BufferedInputStream (InputStream, int)• Lecture: read ()• Lecture: read (byte [ ], int, int)• Fermeture: close ()
![Page 39: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/39.jpg)
39
Les flux de données
• Pas de bytes caractères
• Data output ou data input streams
• boolean, byte, double, float, int, long et short
![Page 40: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/40.jpg)
40
DataInputStreams
• DataInputStream (InputStream)
• readBoolean ()
• readByte ()
• readDouble ()
![Page 41: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/41.jpg)
41
• readFloat ()
• readInt ()
• readLong ()
• readShort ()
DataInputStreams
![Page 42: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/42.jpg)
42
• DataOutputStream (OutputStream)
• writeBoolean(boolean)
• writeBytes (String)
• writeDouble (double)
• writeInt (int)
DataOutputStreams
![Page 43: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/43.jpg)
43
• writeFloat (float)
• writeInt (int)
• writeLong (long)
• writeShort (short)
DataOutputStreams
![Page 44: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/44.jpg)
44
• Unicode ou ASCII
• Lecture de fichiers texte
• Ecriture de fichiers texte
Les flux de texte
![Page 45: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/45.jpg)
45
• Lecture d’un flux de caractère
• FileReader (String nomFic)
• read ()
Lecture de fichier
![Page 46: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/46.jpg)
46
• read (char (), int, int)
• Exemple:
Lecture de fichier
![Page 47: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/47.jpg)
47
• Ecriture d’un flux de caractère
• FileWriter (String nomFic)
• write (int)
• write (String, int, int)
• Exemple:
Ecriture de fichier
![Page 48: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/48.jpg)
48
• Enregistrer le type de objets
• Enregistrer les données de l’objets
• ObjectOutputStream (FileOutputStream)
• writeObject (Object)
Flux d’objet (sérialisation)
![Page 49: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/49.jpg)
49
• ObjectInputStream (FileInputStream)
• readObject (Object)
• Implanter la classe Serializable
• Exemple:
Flux d’objet (sérialisation)
![Page 50: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/50.jpg)
50
Threads
• Création de thread• Problèmes• Synchronisation• Contrôle de thread• Exemples
![Page 51: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/51.jpg)
51
Création de thread
• Effectuer plusieurs tâches
• Traitement parallèle
• Chaque thread effectue une tâche
![Page 52: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/52.jpg)
52
• Héritage de la classe Thread
• Possibilité de surcharge de la méthode run
• Créer une nouvelle classes
• Implanter l’interface Runnable
Création de thread
![Page 53: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/53.jpg)
53
Création de thread
• On commence par invoquer la méthode start
Concurrent flow
task1 task2 task3
![Page 54: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/54.jpg)
54
Création des threads
• Priorité des threads: 1 à 10
• Les méthodes start () et run ()
• Les méthodes wait () et notify ()
![Page 55: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/55.jpg)
55
Priorité des threads
Priority 10
Priority 9
Priority 8
Priority 7
Priority 6
Priority 5
Priority 4
Priority 3
Priority 2
Priority 1
A B
C
D E F
G
H I
J K
![Page 56: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/56.jpg)
56
Problème avec threads
• Partage de données
Compte
+ 250 - 250
Thread1 Thread2
![Page 57: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/57.jpg)
57
Synchronisation
• Un seul thread accède à la donnée
• Utiliser le mot clé synchronised
• Pas d’exécution de méthode synchronisée
![Page 58: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/58.jpg)
58
Contrôle de threads
• suspend (), resume (), sleep ()• suspend (): suspendre le thread• resume (): reprendre le thread• sleep (long milliseconds): suspendre le thread pour un temps
![Page 59: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/59.jpg)
59
États d’un thread
Né
Prêt
S’exécute
Mort
En suspensEn hibernation BloquéEn attente
resumeFin du délai d’attente stop complétion
wait
notifynotifyall
Complétion d’E/S
sleep suspend
Entrées/Sorties
start
Allocationdu processeur yield
![Page 60: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/60.jpg)
60
Groupe de threads
• Grouper les threads
• public ThreadGroup (String nomGroupe)
• public Thread (ThreadGroup, String)
![Page 61: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/61.jpg)
61
Comparaison applet/application
• Exemple application
• Exemple applet
• Sécurité applet
![Page 62: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/62.jpg)
62
Sécurité
• Divulgation d’informations
• Indisponibilité des ressources
• Atteinte à l’intégrité
• Nuisance
![Page 63: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/63.jpg)
63
Securité d’applet
Alice
Charlie
Bob
Alice’s server
Charlie’s server
![Page 64: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/64.jpg)
64
Securité
WebBrowser
J ava VirtualMachine
Security Manager
Class loader Byte-code
verifier
Internet
Applet classesHTML
![Page 65: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/65.jpg)
65
• Java est fortement typé
• Java n’offre pas de notion de pointeur
• Protection de l’accès: variables, méthodes et classes
Sécurité langage
![Page 66: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/66.jpg)
66
• Interdire la redéfinition de méthodes sensibles (mot- clé final)
• Java interdit l’héritage multiple
• Java gère la désallocation de la mémoire
Sécurité langage
![Page 67: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/67.jpg)
67
Sécurité bytecode
• Vérifier toutes les information identifiant une classe• Existence des classes et des types utilisés• Pas de redéfinition des méthodes finales• Un contrôle sur le type est effectué• La taille et le format des types
![Page 68: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/68.jpg)
68
Sécurité du chargement
• Les classes sont chargées dynamiquement
• Distinguer les classes importées des classes locales
• Impossible d’écraser des classes locales
• Un seul chargeur de classes par navigateur
![Page 69: 1 Part3 3 2 Exception Générée par un problème de programme Objet définissant une erreur Peut être saisie et traitée par un programme Une erreur: situation](https://reader035.vdocuments.mx/reader035/viewer/2022062622/551d9da7497959293b8d8ee1/html5/thumbnails/69.jpg)
69
Gestionnaire de sécurité
• Contrôler les droits d ’accès
• Un seul gestionnaire de sécurité par navigateur
• Non autorisée à exécuter des programmes sur le client