…….
Threads
-Un thread -appelé parfois processus léger – est un unique flux de contrôle séquentiel d‟un programme.
-On peut utiliser les threads afin d‟isoler des tâches.
Vie et mort d’un thread
1. on crée le thread – new;
2. on le démarre – start;
3. le thread s’exécute alors, et reste vivant jusqu’à la fin de son code exécution, ou jusqu’à ce que ses méthodes stop ou de stroy soi entinvoquées ;
4. durant son exécution, le processus peux être bloqué ou exécutable.
Inactivité d’un thread
Un thread est bloqué (Not Runnable), dans les cas suivants :
1. sa méthode sleep a été invoquée ;
2. le thread a appelé la méthode wait afin d’attendre la réalisation d’un certain évènement ;
3. le thread est en attente d’une entrée/sortie.
Suivant la cause de bloquage du thread, sa remise en activité peut-être :
1. si un thread a été mis en sommeil, alors, le nombre de millisecondes demandes devra être écoulé ;
2. si un thread attend une condition, alors, un autre objet doit l’avertir du changement de la condition – notify ou notifyAll ;
3. si un thread est bloqué en attente d’une entrée/sortie alors il faut
attendre que cette entrée/sortie se libère.
Comment créer un thread ?
class MonThread extends Thread { // constructeur MonThread (...) { [...] } // methode ‟run‟ a surcharger public void run() { [...] } }
Adresses IP / adresses DNS
– Une adresse IP référence de manière logique et unique sur l’Internet, l’interface d’une machine.
-Des mécanismes de résolution d’adresse permettent de convertir les adresses IP en adresses DNS et vice-versa.
Ports
– Le mécanisme de port est utilisé afin de pouvoir permettre de gérer plusieurs services simultanés depuis une seule interface réseau.
Classes utilisées pour la communication
-Les classes orientées communication se trouvent dans le paquetage java.net.
-Les programmes Java peuvent utiliser TCP ou UDP afin de communiquer sur l‟Internet.
-classe de manipulation d’adresses InetAddress
-Les classes utilises spcifiquement pour TCP : URL,URLConnection, Socket , ServerSocket ;
-Les classes utilises spécifiquement pour UDP : DatagramPacket , DatagramSocket , MulticastSocket.
Java Beans Coding Convention (1/2)
-Convention pour les commentaires
-Convention de nommage
-class et interface (pas d’underscore, majuscule au début de chaque mot)
-méthode (minuscule au début, majuscule au début de chaque mot)
-variable (d’instance préfixé par ‘i’, de classe par ‘c’, de paramêtre par ‘a’, temporaire sans, constante tout en capitale)
-paquetage (tout en minuscule, dans le répertoire associé)
-Convention d’accès aux variables
-récupérer la valeur d’une variable d’instance (get suivi du nom de la variable)
-positionner la valeur d’une variable d’instance (set suivi du nom de la variable)
Java Beans Coding Convention (2/2)
-Convention de constructeurs (avoir un constructeur par défaut)
-Convention d’initialisation (utiliser les conventions de variables et les set)
-Convention d’importation (ne pas utiliser ‘*’)
-Sérialisation (doit implémenter l’interface Serializable)
-Convention d’évènement
-Event handling methods: void <eventOcurrenceMethodName>(<EventStateObjectType> evt);
-Event handling methods with arbitrary argument list: void <eventOcurrenceMethodName>(<ArbitraryParameterList>);
-Multicast event delivery: public void add<ListenerType>(<ListenerType> listener); public void remove<ListenerType>(<ListenerType> listener);
-Unicast event delivery: public void add<ListenerType>(<ListenerType> listener) throws java.util.TooMany Listeners Exception; public void remove<ListenerType>(<ListenerType> listener);
…………