Junior — Middle
Šta je stek literala nizova i čemu služi u upravljanju memorijom?
sobes.tech АИ
Одговор од АИ
Пул строкових литерала (String Pool) — ово је посебна област у меморији у Јави где се чувају јединствени објекти стрингова. Када се креира стринг литерал, ЈВМ проверава да ли већ постоји у пулу. Ако постоји — враћа референцу на њу, ако не — додаје нову.
Зашто је то потребно?
- Уштеда меморије: исте стрингове се чувају једном.
- Побољшање перформанси: поређење стрингова преко референце (==) је могуће за литерале из пула.
Пример:
String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); // true, обе референце указују на исти објекат у пулу
String s3 = new String("hello");
System.out.println(s1 == s3); // false, s3 је нови објекат ван пула
Овај начин, пул стрингова, помаже у ефикасном управљању меморијом при раду са стринговима.