Sobes.tech
Junior — Middle

Ako sa objekty vytvárajú a spravujú v pooli reťazcov v Jave?

sobes.tech AI

Odpoveď od AI

V Jave je String Pool špeciálne miesto v pamäti, kde sa ukladajú unikátne literály reťazcov na úsporu pamäti a zvýšenie výkonu.

Keď sa vytvorí literál reťazca, JVM skontroluje, či už existuje v poole:

  • Ak áno, vráti odkaz na existujúci objekt.
  • Ak nie, reťazec sa pridá do poolu a vráti sa jeho odkaz.

Objekty reťazcov vytvorené pomocou konštruktora new String() nie sú automaticky vkladané do poolu, ale môžu byť manuálne pridané pomocou metódy intern().

Príklad:

String s1 = "hello"; // reťazec sa vloží do poolu
String s2 = "hello"; // s2 odkazuje na ten istý objekt v poole
String s3 = new String("hello"); // nový objekt mimo pool
String s4 = s3.intern(); // s4 odkazuje na objekt v poole

Týmto spôsobom pomáha String Pool vyhnúť sa duplikácii rovnakých reťazcov v pamäti.