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