Middle
Wat gebeurt er bij het gebruik van de syntax String s1 = "asd"?
sobes.tech AI
Antwoord van AI
Bij gebruik van de syntax String s1 = "asd";:
- String Pool: De JVM controleert of de string literal
"asd"al bestaat in de string pool. De string pool is een speciale ruimte in de heap waar unieke string literals worden opgeslagen om geheugen te besparen. - Object creatie:
- Als
"asd"al in de pool bestaat, verwijst de variabeles1gewoon naar dat bestaande object in de pool. - Als
"asd"niet bestaat, maakt de JVM een nieuwStringobject in de string pool met de waarde"asd".
- Als
- Verwijzing toewijzing: De variabele
s1krijgt een verwijzing naar hetStringobject in de string pool.
In tegenstelling tot String s2 = new String("asd");, kan het object bij gebruik van een literal worden hergebruikt door andere verwijzingen die naar hetzelfde literal wijzen, wat leidt tot geheugenoptimalisatie.