Sobes.tech
Junior — Middle

Explicați conceptul de pool de șiruri în Java și scopul său.

sobes.tech AI

Răspuns de la AI

Pool-ul de șiruri (String Pool) în Java este un loc special în memorie unde sunt stocate literalurile de șiruri unice. Când creezi un șir ca literal, JVM îl plasează în pool-ul de șiruri pentru a evita duplicarea aceluiași șir și pentru a economisi memorie.

De exemplu, dacă în cod există două șiruri cu aceeași valoare, ambele vor face referire la același obiect din pool, în loc să creeze două obiecte separate.

Exemplu:

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

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

Scopul pool-ului de șiruri este de a îmbunătăți performanța și de a reduce consumul de memorie prin reutilizarea șirurilor imutabile.