Sobes.tech
Junior — Middle

Објасните концепт пула стрингова у Јави и његову сврху.

sobes.tech АИ

Одговор од АИ

String Pool u Javi je posebno mesto u memoriji gde se čuvaju jedinstveni literali nizova. Kada kreirate niz kao literal, JVM ga smešta u String Pool kako bi izbegao dupliranje istih nizova i uštedio memoriju.

Na primer, ako u kodu postoje dva niza sa istom vrednošću, oba će se referisati na isti objekat u pool-u, umesto da se kreiraju dva odvojena objekta.

Primer:

String s1 = "zdravo";
String s2 = "zdravo";
System.out.println(s1 == s2); // true, obe reference ukazuju na isti objekat u pool-u

String s3 = new String("zdravo");
System.out.println(s1 == s3); // false, s3 je novi objekat van pool-a

Svrha String Pool-a je da poboljša performanse i smanji potrošnju memorije ponovnom upotrebom nepromenljivih nizova.