Sobes.tech
Junior — Middle

Ce este un pool de literali de șiruri și de ce este necesar în gestionarea memoriei?

sobes.tech AI

Răspuns de la AI

Pool-ul de șiruri (String Pool) este o zonă specială de memorie în Java unde sunt stocate obiecte de șiruri unice. Când se creează un literal de șir, JVM verifică dacă acel șir există deja în pool. Dacă da, returnează o referință către el; dacă nu, adaugă unul nou.

La ce folosește acest lucru?

  • Economisirea memoriei: șirurile identice sunt stocate o singură dată.
  • Creșterea performanței: compararea șirurilor prin referință (==) este posibilă pentru literalurile din pool.

Exemplu:

String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); // true, ambele referințe indică același obiect din pool

String s3 = new String("hello");
System.out.println(s1 == s3); // false, s3 este un obiect nou în afara pool-ului

Astfel, pool-ul de șiruri ajută la gestionarea eficientă a memoriei atunci când se lucrează cu șiruri.