Junior — Middle
Wat is een string literal pool en waarom is het nodig in geheugenbeheer?
sobes.tech AI
Antwoord van AI
De String Pool is een speciale geheugenruimte in Java waar unieke string-objecten worden opgeslagen. Wanneer een string-literal wordt gemaakt, controleert de JVM of die string al in de pool bestaat. Zo ja, dan geeft het een verwijzing terug; zo niet, dan wordt er een nieuwe toegevoegd.
Waarom is dit nodig?
- Geheugenspaargeld: dezelfde strings worden slechts één keer opgeslagen.
- Prestatieverbetering: vergelijking van strings via referentie (==) is mogelijk voor literals uit de pool.
Voorbeeld:
String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); // true, beide verwijzingen wijzen naar hetzelfde object in de pool
String s3 = new String("hello");
System.out.println(s1 == s3); // false, s3 is een nieuw object buiten de pool
Zo helpt de string pool om geheugen efficiënt te beheren bij het werken met strings.