Junior — Middle
Qu'est-ce que la pile de littéraux de chaînes et à quoi sert-elle dans la gestion de la mémoire?
sobes.tech IA
Réponse de l'IA
Le pool de chaînes (String Pool) est une zone mémoire spéciale en Java où sont stockés des objets chaîne uniques. Lorsqu'un littéral de chaîne est créé, la JVM vérifie s'il existe déjà dans le pool. Si oui, elle renvoie une référence ; sinon, elle en ajoute une nouvelle.
À quoi cela sert-il ?
- Économie de mémoire : les chaînes identiques sont stockées une seule fois.
- Amélioration des performances : la comparaison de chaînes par référence (==) est possible pour les littéraux du pool.
Exemple :
String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); // true, les deux références pointent vers le même objet dans le pool
String s3 = new String("hello");
System.out.println(s1 == s3); // false, s3 est un nouvel objet hors du pool
Ainsi, le pool de chaînes aide à gérer efficacement la mémoire lors de la manipulation de chaînes.