Junior
Šta se dešava pri korišćenju sintakse String s1 = "asd"?
sobes.tech АИ
Одговор од АИ
Kada koristite sintaksu String s1 = "asd";, događa se sledeće:
- JVM proverava bazen nizova (String Pool - posebna oblast memorije u hrpi) da li već postoji literal niza
"asd". - Ako
"asd"već postoji u bazenu nizova, promenljivas1se odnosi na postojeći objekat u bazenu. - Ako
"asd"nije u bazenu nizova, tada:- Kreira se novi objekat
Stringsa vrednošću"asd"u bazenu. - Promenljiva
s1se odnosi na taj novi objekat.
- Kreira se novi objekat
Ovaj mehanizam se naziva internovanje nizova (String Interning) i pomaže u uštedi memorije izbegavajući kreiranje duplikata istih literala nizova.