Junior
Mi történik a String s1 = "asd" szintaxis használatakor?
sobes.tech MI
Válasz az MI-től
Amikor a String s1 = "asd"; szintaxist használja, a következő történik:
- A JVM ellenőrzi a String Pool-t (egy speciális memória terület a heap-en), hogy létezik-e már a
"asd"string literál. - Ha a
"asd"már létezik a String Pool-ban, akkor as1változó a meglévő objektumra hivatkozik. - Ha a
"asd"nincs a String Pool-ban, akkor:- Létrejön egy új
Stringobjektum a"asd"értékkel a String Pool-ban. - A
s1változó erre az újonnan létrehozott objektumra hivatkozik.
- Létrejön egy új
Ezt a mechanizmust nevezik String Interningnek, és segít memória megtakarításában azzal, hogy elkerüli az ugyanazokat a string literálokat tartalmazó duplikátumok létrehozását.