Junior — Middle
Explica principiul utilizării StringPool și rolul său în gestionarea șirurilor de caractere în Java
sobes.tech AI
Răspuns de la AI
StringPool în Java este un pool special de literali de șiruri care stochează instanțe unice de șiruri pentru economisirea memoriei și creșterea performanței.
Când se creează un șir printr-un literal, JVM verifică dacă acel șir există deja în pool. Dacă da, returnează o referință la cel existent; dacă nu, adaugă unul nou.
Acest lucru permite:
- Evitarea duplicării aceluiași șir în memorie.
- Compararea mai rapidă a șirurilor după referință (==), dacă provin din pool.
Exemplu:
String a = "hello";
String b = "hello";
System.out.println(a == b); // true, ambele indică același obiect în StringPool
String c = new String("hello");
System.out.println(a == c); // false, c este un obiect nou în afara pool-ului