Bonjour,

J'ai deux questions à propos du comportement de java et du gc :

1) Si j'ai un thread qui tourne, et que je perds le pointeur dessus, est ce que le gc va attendre que le thread termine avant de le vider (sachant qu'il peut très bien ne jamais se terminer) ou alors il le vide direct, en plein fonctionnement ?

Qqun aurait une idée du comportement précis du truc ?

2) J'ai une formation c/c++ donc j'ai pris l'habitude de différencier les références (qui sont des const pointeurs en gros) et les pointeurs.

En java on appelle ça une référence pke on l'utilise avec un point, mais c'est la seule similarité avec la réference c++, vu que pour le reste ça se comporte comme un pointeur (on peut le mettre a null, le réutiliser, etc).

Jusqu'ici, tout va bien.

Maintenant, puisque tout est référence, j'ai une fonction comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
public void fillThisString(String recipient)
{
   recipient = "coucou";
}
 
public static main....
{
  String s = null;
  fillThisString(s);
 ... 
// s vaudra encore null
}
En terme de référence/pointeur, s devrait être remplie, et surtout pas laissée à null !

Du coup, si je passe une référence en paramètre et que je veux qu'elle soit remplie, je dois faire comment ?

Merci