User Tools

Site Tools


sysrep:rmi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sysrep:rmi [2013/12/04 16:05] – [Compléments Java] orelsysrep:rmi [2024/03/18 15:06] (current) – external edit 127.0.0.1
Line 129: Line 129:
 __Exercice__ :   __Exercice__ :  
   * Faire une proposition d'architecture en spécifiant le ou les interfaces. Faites la valider par l'enseignant avant de commencer l'implantation...   * Faire une proposition d'architecture en spécifiant le ou les interfaces. Faites la valider par l'enseignant avant de commencer l'implantation...
-  * Implantation. Utilisez les compléments Java fournis à la fin de cette page ;-)+  * Implantation. Utilisez les compléments Java disponibles [[sysrep:java|ici]] ;-)
   * Quelques éléments de correction pour vous aider : [[sysrep:rmi-correction|ici]]   * Quelques éléments de correction pour vous aider : [[sysrep:rmi-correction|ici]]
  
Line 198: Line 198:
 ====Fourmis==== ====Fourmis====
  
-[[sysrep:rmi:ant | Ants]]+FIXME : Ajouter un nouvel exo sur un programme Java simulant l'intelligence collective d'une colonie de fourmis : [[sysrep:rmi:ant | ici]].
  
- 
-====Compléments Java==== 
- 
-__Readline__ : Pour lire une chaîne de caractères sur la ligne de commande, il faut taper un truc comme ça : 
- 
-<code java> 
-BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
-try { 
-  String msg = in.readLine(); 
-} catch(IOException e) { /* ... */ } 
-</code>     
- 
-__StringTokenizer__ : Pour décomposer une chaîne de caractères en mots (les //tokens//) : 
- 
-<code java> 
-StringTokenizer st = new StringTokenizer("this is a test"); 
-while (st.hasMoreTokens()) System.out.println(st.nextToken()); 
-</code> 
- 
-Affiche ici :  
- 
-  this 
-  is 
-  a 
-  test 
- 
- 
-__HashMap and Generics__ : Voici un petit exemple d'utilisation des Generics avec les HashMap.  
- 
-<code java> 
-HashMap<Integer,String> map = new HashMap<Integer,String>(); 
-map.put(1, "Ian"); 
-map.put(2, "Scott"); 
-String name = map.get(2) 
- 
-for (Integer key : map.keySet())   
-  System.out.println("key = " + key + ", value = " + map.get(key)); 
-</code>          
- 
-__Intrinsic Locks and Synchronization__ : En java chaque objet dispose d'un verrou intrinséque (mutex), qui est utile pour synchroniser l'accès au champs d'un objet via de multiple threads. Soit on déclare une méthode comme "synchronized", l'exclusion porte alors sur tout la méthode : 
- 
-<code java>      
-class FooBar { 
-  synchronized void foo() { ...} 
-  synchronized void bar() { ...} 
-} 
-</code> 
- 
-Soit on déclare un bloc de code "synchronized", en précisant explicitement l'objet qui fournit le lock. 
- 
-<code java> 
-Object lock = new Object; 
-synchronized(lock) {  
-  ... 
-  ... 
-} 
-</code> 
  
sysrep/rmi.1386173128.txt.gz · Last modified: 2024/03/18 15:05 (external edit)