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