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.