Sobes.tech
Junior — Middle

Leg uit hoe StringPool werkt en welke rol het speelt in het beheer van strings in Java

sobes.tech AI

Antwoord van AI

StringPool in Java is een speciale pool van stringliteralen die unieke instanties van strings opslaat om geheugen te besparen en de prestaties te verbeteren.

Wanneer een string wordt gemaakt via een literal, controleert de JVM of zo'n string al in de pool bestaat. Zo ja, dan geeft het een verwijzing naar de bestaande; zo nee, dan wordt een nieuwe toegevoegd.

Dit maakt het mogelijk:

  • Om duplicatie van gelijke strings in het geheugen te voorkomen.
  • Om strings sneller te vergelijken via referentie (==), als ze uit de pool komen.

Voorbeeld:

String a = "hello";
String b = "hello";
System.out.println(a == b); // true, beide verwijzen naar hetzelfde object in StringPool

String c = new String("hello");
System.out.println(a == c); // false, c is een nieuw object buiten de pool