Sobes.tech
Junior — Middle

Објасните принцип коришћења StringPool и његову улогу у управљању низовима у Јави

sobes.tech АИ

Одговор од АИ

StringPool u Javi je poseban bazen literala nizova koji čuva jedinstvene instance nizova radi uštede memorije i poboljšanja performansi.

Kada se niz kreira pomoću literala, JVM proverava da li takav niz već postoji u bazenu. Ako postoji, vraća referencu na postojeći; ako ne, dodaje novi.

Ovo omogućava:

  • Izbegavanje dupliranja istih nizova u memoriji.
  • Brže poređenje nizova putem reference (==), ako potiču iz bazena.

Primer:

String a = "hello";
String b = "hello";
System.out.println(a == b); // true, oba referenciraju isti objekat u StringPool-u

String c = new String("hello");
System.out.println(a == c); // false, c je novi objekat van bazena