Sobes.tech
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 је нови објекат ван пула

Овај начин, пул стрингова, помаже у ефикасном управљању меморијом при раду са стринговима.